--- title: SheetAble created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, document-management, spreadsheet, typescript, nodejs, excel, csv] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=document-management, https://github.com/SheetAble/SheetAble, https://sheetable.net/] --- # SheetAble 📊 > **Gestionnaire de feuilles de calcul** (Excel/CSV/ODS) auto-hĂ©bergeable : dĂ©posez vos fichiers, SheetAble les rend lisibles dans le navigateur via un tableur web, sans Excel ni LibreOffice local. | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://sheetable.net/ | | **GitHub** | https://github.com/SheetAble/SheetAble | | **License** | AGPL-3.0 | | **Langage** | TypeScript / Node.js (frontend Vue.js) | | **Étoiles** | ⭐91 | | **DerniĂšre MAJ** | 2026-04-15 | | **CatĂ©gorie** | [[cat-document-management]] | ## Description SheetAble est un **tableur web** lĂ©ger et self-hosted, conçu pour **visualiser et Ă©diter** des fichiers `.xlsx`, `.xlsm`, `.csv`, `.ods` depuis n'importe quel navigateur, sans dĂ©pendre d'Excel ou de LibreOffice. Le moteur de rendu est **Univer** (fork communautaire de Luckysheet, basĂ© sur Canvas), offrant une expĂ©rience proche d'Excel : formules, multi-feuilles, mise en forme conditionnelle, charts, frozen rows/columns, etc. L'**architecture** est simple : un backend Node.js (Fastify) qui parse les fichiers avec **SheetJS (xlsx)**, un frontend Vue.js + Univer, et un systĂšme de fichiers plat pour le stockage. Pas de base de donnĂ©es externe (SQLite pour les mĂ©tadonnĂ©es seulement). L'**auth** est basique (email/password local, pas de SSO natif), avec partage de fichiers par lien. L'usage typique est un **partage familial ou associatif** d'un classeur comptable, d'un tableau de bord, d'un budget mensuel, d'un inventaire, etc. SheetAble n'est pas un concurrent de Google Sheets (pas de collaboration temps rĂ©el), mais c'est un excellent **visualiseur/Ă©diteur solo** auto-hĂ©bergĂ© pour qui veut Ă©viter Google Drive. LĂ©ger (peut tourner sur Raspberry Pi 4), simple Ă  dĂ©ployer, et l'UI est **jolie et moderne** (sombre/clair). ## Installation ### Via Docker Compose (recommandĂ©) ```yaml # docker-compose.yml services: sheetable: image: ghcr.io/sheetable/sheetable:latest container_name: sheetable restart: unless-stopped ports: - "8083:80" environment: - JWT_SECRET=ChangeMeWithOpensslRandHex50 - DATABASE_URL=file:/data/sheetable.db - STORAGE_PATH=/data/uploads - MAX_UPLOAD_SIZE_MB=50 - APP_URL=https://sheets.example.com volumes: - sheetable-data:/data healthcheck: test: ["CMD", "wget", "--spider", "-q", "http://localhost:80/"] interval: 30s timeout: 10s retries: 3 volumes: sheetable-data: ``` > **Note** : l'image officielle est `ghcr.io/sheetable/sheetable` (Ă  vĂ©rifier — peut ĂȘtre `sheetable/sheetable` sur Docker Hub). ### Installation manuelle 1. **PrĂ©-requis** : Node.js 18+, npm 9+, SQLite (inclus). 2. **Clone & install** : `git clone https://github.com/SheetAble/SheetAble && cd SheetAble && npm install`. 3. **Build** : `npm run build` (build frontend Vue + backend Fastify). 4. **Config** : copier `.env.example` vers `.env` et renseigner `JWT_SECRET`, `STORAGE_PATH`. 5. **Lancer** : `npm start` (port 80 par dĂ©faut ou `PORT=8083 npm start`). 6. **Premier admin** : crĂ©er via l'UI au premier lancement (signup ouvert dĂ©sactivable). ## Configuration - **Premier user** : crĂ©er le compte admin via l'UI (Settings → Users), puis dĂ©sactiver l'inscription ouverte (`ALLOW_SIGNUP=false`). - **Storage** : filesystem local par dĂ©faut, S3-compatible possible en v2+. - **Formats supportĂ©s** : `.xlsx`, `.xlsm`, `.csv`, `.ods`, `.xls` (ancien format) — import et export. - **ThĂšme** : clair/sombre, persistant par user. - **HTTPS** : obligatoire via reverse proxy. - **Backups** : copier `/data` (DB SQLite + fichiers uploadĂ©s). - **Reverse proxy** : `client_max_body_size` Ă  100M pour les gros classeurs. - **Performance** : gros classeurs (>10 Mo) peuvent ramer dans le navigateur, limiter la taille d'upload. ## Alternatives ### Open Source - [[app-pdfding]] — gestionnaire PDF lĂ©ger (mĂȘme esprit « viewer web ») - [[app-papra]] — GED minimaliste TypeScript - [[app-stirling-pdf]] — boĂźte Ă  outils PDF (complĂ©mentaire) - **Grist** — tableur hybride Excel/Airtable (Python) — bien plus puissant - **NocoDB** — Airtable-like (Node.js) — pas vraiment tableur - **Baserow** — Airtable-like (Python) — pas vraiment tableur - **EtherCalc** — tableur collaboratif temps rĂ©el (Node.js, vieux) - **OnlyOffice** — suite office complĂšte (beaucoup plus lourd) - **Collabora Online** — LibreOffice en mode serveur (lourd) ### PropriĂ©taires - **Microsoft Excel Online** — gratuit avec compte Microsoft, freemium - **Google Sheets** — rĂ©fĂ©rence, gratuit, collaboratif temps rĂ©el - **Apple Numbers** — iCloud, freemium - **Zoho Sheet** — freemium, Zoho Office - **Airtable** — pas vraiment tableur mais cousin (freemium) - **WPS Office** — suite office freemium ## SĂ©curitĂ© - **HTTPS obligatoire** + HSTS via reverse proxy. - **JWT** : `JWT_SECRET` doit ĂȘtre long et alĂ©atoire (`openssl rand -hex 64`). - **Pas de 2FA natif** : compter sur Authelia/Authentik via reverse proxy. - **Permissions** : isolation par utilisateur (un user ne voit pas les classeurs d'un autre). - **Partage par lien** : tokens signĂ©s avec expiration, rĂ©vocables. - **Mises Ă  jour** : suivre les releases GitHub, Univer/SheetJS sont Ă  jour rĂ©guliĂšrement. - **CSP** : configurer les Content-Security-Policy headers via reverse proxy (Univer charge des libs tierces). - **Backups** : tester la restauration (DB + fichiers). - **Isolation** : ne pas exposer SheetAble en direct, passer par reverse proxy authentifiĂ©. ## Ressources - Site officiel : https://sheetable.net/ - Documentation : https://docs.sheetable.net/ - GitHub : https://github.com/SheetAble/SheetAble - Discord communautaire : https://discord.gg/sheetable (Ă  confirmer) - selfh.st : https://selfh.st/apps/?tag=document-management ## Pages LiĂ©es - [[cat-document-management]] — catĂ©gorie parente - [[app-pdfding]] — cousin « viewer web » pour PDF - [[app-papra]] — GED TS minimaliste - [[recettes-docker-compose]] — templates de dĂ©ploiement - [[securisation-home-lab]] — bonnes pratiques sĂ©curitĂ©