Commit Graph
14 Commits
Author SHA1 Message Date
claude BotandClaude Opus 5.5 f515d58a95 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
2026-10-15 11:42:49 +02:00
claude Bot d052ac383b Poubelle par utilisateur (interface) : icône pleine/vide, restauration, vidage, réglage de la purge dans les paramètres 2026-10-15 10:00:33 +02:00
claude BotandClaude Opus 5.5 8c29eb35e7 Explorateur : icône personnalisable par dossier
Menu « … » d'un dossier > « Icône… » : grille de 27 icônes Tabler
(projet, serveurs, stockage, réseau, sécurité, documents, archives…)
plus « Par défaut ». L'icône est enregistrée dans .meta.json (champ
icon), partagée par tous, et suit renommages et déplacements.
Nouvelle route POST /api/meta/icon {"paths":[...],"icon":"server"}.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011bGUm1KLMvT6YPbJxZgwkj
2026-10-15 09:14:39 +02:00
claude BotandClaude Opus 5.5 8e0b5ea0d9 Explorateur : actions d'un élément dans un menu déroulant
Le bouton « … » en bout de ligne (ou sur la vignette) ouvre un menu flottant
aligné sur lui, au lieu d'insérer la barre d'actions sous l'élément. Le menu
se referme au choix d'une action, par Échap, clic ailleurs, défilement ou
redimensionnement ; flèches haut/bas pour naviguer. Icônes sur chaque action.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017AW78w4N95h6PXiCResh2v
2026-10-14 13:40:06 +02:00
claude BotandClaude Opus 5.5 ea06fdaddf Explorateur : dossiers Favoris et Personnel, cartouche oidc/local
- Racine : entrées « Favoris » (étoile) et « Personnel » en tête, ni
  sélectionnables ni déplaçables ; fil d'Ariane et sélecteur « Déplacer
  vers… » affichent Personnel/Favoris à la place de .perso/.favoris.
- Favoris : glisser un schéma sur Favoris (ou l'étoile) crée un lien, sans
  déplacer l'original ; ouvrir un favori ouvre l'original sans quitter
  Favoris ; Supprimer y retire seulement le lien ; emplacement de l'original
  affiché ; favori cassé barré. Plus de favoris sur les dossiers. Le filtre
  « Favoris » de la ligne de tags est remplacé par le dossier.
- Barre du haut : cartouche encadré « OIDC » + e-mail, ou « LOCAL » + nom
  du compte, avant le bouton de déconnexion.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0174sFqehj4uGqJHQZvWy1gn
2026-10-08 10:28:05 +02:00
claude BotandClaude Opus 5.5 a5fddba9a0 Explorateur épinglable : panneau fixe ou flottant au-dessus du schéma
- Bouton punaise (barre de recherche de l'explorateur) : épinglé = colonne fixe
  redimensionnable (comportement actuel) ; désépinglé = panneau masqué qui
  s'ouvre par-dessus le canevas.
- Désépinglé : ouverture par le bouton ☰ ou en survolant le bord gauche ;
  fermeture à l'ouverture d'un schéma, au clic hors du panneau, par Échap, ou
  en quittant le panneau s'il a été ouvert par survol. Il revient seul quand
  le schéma est fermé ou qu'aucun n'est ouvert.
- À la bascule, le défilement du canevas est compensé : le schéma ne bouge pas
  à l'écran (zoom conservé, pas de recadrage).
- Choix mémorisé par navigateur (localStorage drawerPinned). Sur mobile,
  l'explorateur reste un tiroir et le bouton est masqué.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XR9aSZwC3Ssajfy1R7SLPo
2026-10-08 09:06:15 +02:00
claude BotandClaude Opus 5.5 50d40cd929 Partage en lecture seule par lien signé
- Lien /s/<jeton> : jeton = id aléatoire 128 bits + HMAC-SHA256 tronqué par la
  clé du serveur (SHARE_SECRET, sinon DATA_DIR/.share-secret générée en 0600).
  Valide si la signature est correcte, le lien présent dans .shares.json et non
  expiré (1, 7, 30 jours ou sans expiration).
- API : GET/POST/DELETE /api/shares, POST /api/shares/revoke-all (renouvelle la
  clé), GET /api/public/{jeton} hors authentification (nom, titre, logo, scène).
- Auth Basic : /s/, /api/public/, /healthz et les fichiers statiques du build
  sont publics ; le reste de l'API et l'index restent protégés. Le serveur
  statique ne liste plus les répertoires. X-Robots-Tag: noindex sur les liens.
- Les liens suivent renommages et déplacements, disparaissent à la suppression.
- Interface : dialogue Partager (barre du haut, menu de l'explorateur), section
  Liens de partage dans Paramètres, vue publique Excalidraw en lecture seule
  avec téléchargement et bascule clair/sombre.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H6J7vKwXx7uopxKhWfFJpm
2026-10-07 18:10:09 +02:00
claude BotandClaude Opus 5.5 c1ea1e84a7 Tags et favoris, filtres dans l'explorateur
- DATA_DIR/.meta.json : tags et favoris par chemin, suivis aux renommages,
  déplacements, copies (tags seuls) et suppressions.
- API : GET /api/tags, POST /api/meta/favorite, POST /api/meta/tags ; Entry
  porte tags et favorite ; /api/search accepte tag= et fav=true (q facultatif).
- Tags comparés sans casse ni accents, écriture existante conservée ; ils
  participent à la recherche texte.
- Explorateur : ligne de filtres (Favoris, tags avec leur nombre), étoile et
  tags sur les éléments, menu Favori / Tags…, actions sur la sélection,
  dialogue Tags (ajout, retrait, suggestions).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H6J7vKwXx7uopxKhWfFJpm
2026-10-07 18:06:45 +02:00
claude BotandClaude Opus 5.5 c78df092c1 Recherche plein texte dans le contenu des schémas
- /api/search cherche dans les noms et dans le texte des schémas (textes et
  libellés, noms de cadres, liens) ; tous les mots requis, casse et accents
  ignorés, correspondances sur le nom en premier.
- Index en mémoire côté serveur : texte extrait à la première recherche, relu
  seulement si le fichier change (date ou taille), rien d'écrit sur le volume.
- L'explorateur affiche l'extrait correspondant sous le nom.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H6J7vKwXx7uopxKhWfFJpm
2026-10-07 18:04:21 +02:00
claude BotandClaude Opus 5.5 9f9ec3b3a4 Historique des versions : snapshots horodatés, différences, restauration
- Avant d'écraser un schéma, le contenu précédent est copié dans
  DATA_DIR/.history/<chemin>/<date>.excalidraw, au plus une version par
  HISTORY_INTERVAL (10 min) ; rétention HISTORY_KEEP (50) et HISTORY_MAX_AGE.
  Pas de git : l'image reste distroless.
- API : GET /api/history, GET /api/history/version, POST /api/history/snapshot,
  POST /api/history/restore (le contenu remplacé devient une version).
- L'historique suit renommages et déplacements, part à la corbeille avec le
  schéma supprimé.
- Dialogue Historique (barre du haut, menu de l'explorateur) : aperçu,
  différences colorées avec l'état actuel, restaurer, restaurer en copie,
  créer une version.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H6J7vKwXx7uopxKhWfFJpm
2026-10-07 18:03:08 +02:00
claude BotandClaude Opus 5.5 6c8741731e Explorateur : boutons et icônes Excalidraw, import de dossiers ; feuille de style
Explorateur : barre d'outils et sélecteur vignettes/liste au style
d'Excalidraw, dépôt de fichiers et dossiers du système (arborescence
recréée, .excalidraw seuls, bilan d'import). Feuille de style : jetons
--ex-* repris d'Excalidraw 0.18, clair et sombre.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019EuvvuTv7AUc8ksDHv8VKx
2026-10-07 15:50:04 +02:00
claude BotandClaude Opus 5.5 1d4b635b19 Explorateur : style Excalidraw et import de dossiers par glisser-déposer
Suite du commit précédent : explorateur (boutons, icônes, sélecteur
vignettes/liste, dépôt de fichiers et dossiers du système, bilan d'import)
et feuille de style (jetons --ex-* repris d'Excalidraw, clair/sombre).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019EuvvuTv7AUc8ksDHv8VKx
2026-10-07 15:49:09 +02:00
claude BotandClaude Opus 5.5 2da861b81d Explorateur.tsx (sélection multiple, vignettes) et README
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CZ78TqR7fgtRx3rvpNUbAL
2026-10-07 12:47:59 +02:00
claude Bot b76c6d9069 Add file explorer (Explorer.tsx) 2026-10-07 11:52:14 +02:00