134 lines
6.8 KiB
Markdown
134 lines
6.8 KiB
Markdown
---
|
|
title: Spliit
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, budgeting, partage, amis, sveltekit, collocation, depenses]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=budgeting, https://github.com/spliit-app/spliit-web, https://spliit.app/]
|
|
---
|
|
|
|
# Spliit 🤝
|
|
|
|
> Application de **partage de dépenses** entre amis, colocs, famille, ou en voyage. Stack **SvelteKit** légère, sans dépendance bancaire, focalisée sur l'essentiel : créer un groupe, ajouter des dépenses, équilibrer en fin de course.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://spliit.app/ |
|
|
| **GitHub** | https://github.com/spliit-app/spliit-web |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage** | SvelteKit (TypeScript) |
|
|
| **Étoiles** | ⭐431 |
|
|
| **Dernière MAJ** | 2026-05-15 |
|
|
| **Catégorie** | [[cat-budgeting]] |
|
|
|
|
## Description
|
|
|
|
Spliit est une application **minimaliste de partage de dépenses** entre amis, colocs, ou groupes ponctuels (vacances, événements). Inspirée de Splitwise, elle reprend les concepts essentiels : **créer un groupe**, **inviter des participants**, **enregistrer les dépenses** (qui a payé, pour qui, combien, comment split), puis **visualiser qui doit quoi à qui** avec une **séquence de remboursements optimisée** (algorithme de minimisation des transactions).
|
|
|
|
Les fonctionnalités clés incluent : **groupes multiples** (un par contexte : colocs, vacances, soirée), **modes de split** (égal, parts personnalisées, pourcentages, parts fixes, par montant exact), **catégorisation** des dépenses (alimentation, logement, transport, loisirs, etc.), **devises** par groupe avec taux de change, **historique** et **statistiques** par catégorie/groupe, **export CSV**, **statut de remboursement** (paid / unpaid), **URLs d'invitation** par groupe (pas de compte à créer pour les participants — juste un pseudo), et **recherche/filtres**.
|
|
|
|
L'**architecture** est volontairement simple : une app **SvelteKit** avec base **SQLite** (ou PostgreSQL), pas de Redis ni de worker complexe. Le mode "URL d'invitation" évite l'inscription obligatoire des participants (un simple lien + pseudo suffit) — c'est l'un de ses gros avantages sur Splitwise. L'**UX** est soignée, en anglais principalement (français partiel via i18n).
|
|
|
|
Spliit est particulièrement adapté aux **colocations**, **voyages entre amis**, **soirées/events**, **repas partagés**, **projets collaboratifs** (avec dépenses partagées), bref tous les cas où un **Splitwise-like** est nécessaire sans tracking bancaire.
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
spliit:
|
|
image: ghcr.io/spliit-app/spliit-web:latest
|
|
container_name: spliit
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- DATABASE_URL=file:/data/spliit.db
|
|
- NEXTAUTH_SECRET=ChangeM3_NextAuthSecret
|
|
- NEXTAUTH_URL=https://spliit.example.com
|
|
volumes:
|
|
- spliit-data:/data
|
|
healthcheck:
|
|
test: ["CMD", "wget", "--spider", "-q", "http://localhost:3000/"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
spliit-data:
|
|
```
|
|
|
|
> ⚠️ Vérifier la dernière image disponible sur le [GitHub Container Registry](https://github.com/spliit-app/spliit-web/pkgs/container/spliit-web) (le tag peut être `latest` ou versionné).
|
|
|
|
### Installation manuelle (Node.js)
|
|
|
|
1. **Pré-requis** : Node.js 20+, npm ou pnpm.
|
|
2. `git clone https://github.com/spliit-app/spliit-web.git && cd spliit-web`
|
|
3. `npm install` (ou `pnpm install`)
|
|
4. Configurer `.env` :
|
|
```env
|
|
DATABASE_URL=file:./data/spliit.db
|
|
NEXTAUTH_SECRET=ChangeM3_NextAuthSecret
|
|
NEXTAUTH_URL=http://localhost:3000
|
|
```
|
|
5. Initialiser la DB : `npx prisma migrate deploy`
|
|
6. `npm run build && npm start` (production) ou `npm run dev` (développement).
|
|
7. Reverse proxy Nginx/Caddy/Traefik en front (HTTPS obligatoire).
|
|
|
|
## Configuration
|
|
|
|
- **Premier lancement** : aucune inscription requise pour les participants (mode lien d'invitation).
|
|
- **Création de groupe** : nom, devise, participants (pseudo, email optionnel), catégories.
|
|
- **Dépenses** : titre, montant, payeur, date, catégorie, mode de split, participants concernés.
|
|
- **Remboursements** : vue "balances" qui calcule automatiquement qui doit combien à qui, avec une **séquence de transferts minimisée**.
|
|
- **Marquage** : possibilité de marquer un remboursement comme effectué (statut).
|
|
- **Export** : CSV de l'historique des dépenses.
|
|
- **HTTPS** : obligatoire via reverse proxy.
|
|
- **Backup** : le fichier SQLite `spliit.db` est la base de données — le copier régulièrement (cron + rclone).
|
|
|
|
## Alternatives
|
|
|
|
### Open Source
|
|
- [[app-actual-budget]] — budgeting personnel complet, partage de dépenses partiel
|
|
- [[app-firefly-iii]] — finances personnelles, mais conçu pour un individu (groupes = niche)
|
|
- [[app-expenseowl]] — suivi de dépenses minimaliste (mono-utilisateur)
|
|
- **Splitwise** (propriétaire) — référence du marché
|
|
- **Coscrip** / **Spliter** / **ShareMyCosts** — alternatives plus anciennes
|
|
- **Nextcloud Cospend** — app Nextcloud de partage de dépenses (utilise l'API Nextcloud)
|
|
|
|
### Propriétaires
|
|
- **Splitwise** — leader du marché, app mobile et web, freemium agressif
|
|
- **Tricount** (populaire en Europe, propriété BNP Paribas) — très simple, intégré à WhatsApp
|
|
- **Splid** / **Splito** — alternatives mobiles
|
|
- **Tricount**, **KittySplit** — pour poker/games
|
|
|
|
## Sécurité
|
|
|
|
- **HTTPS obligatoire** via reverse proxy (Traefik/Caddy).
|
|
- **Pas d'auth forte** par défaut : le mode "URL d'invitation" repose sur l'opacité des liens. Pour durcir : activer un reverse proxy auth (Authelia/Authentik).
|
|
- **SQLite = fichier plat** : sécuriser les permissions (chmod 600) sur le volume `spliit-data`.
|
|
- **Backups 3-2-1** : copier régulièrement le fichier `spliit.db` vers un stockage externe chiffré.
|
|
- **Pas de connexion bancaire** : pas de credentials à protéger, mais aussi pas d'agrégation automatique.
|
|
- **Validation des dépenses** : tout participant au groupe peut saisir des dépenses → confiance dans le groupe social.
|
|
- **Anonymisation** : Spliit ne demande que des pseudos/emails, pas de KYC.
|
|
- **Updates réguliers** : suivre la branche stable, regarder les notes de release (SvelteKit updates fréquentes).
|
|
|
|
## Ressources
|
|
- Site officiel : https://spliit.app/
|
|
- Démo en ligne : https://spliit.app/
|
|
- GitHub : https://github.com/spliit-app/spliit-web
|
|
- Documentation : https://github.com/spliit-app/spliit-web/blob/main/README.md
|
|
- selfh.st : https://selfh.st/apps/?tag=budgeting
|
|
|
|
## Pages Liées
|
|
- [[cat-budgeting]] — catégorie parente
|
|
- [[app-actual-budget]] — budgeting individuel complémentaire
|
|
- [[app-firefly-iii]] — finances personnelles complètes
|
|
- [[app-expenseowl]] — suivi de dépenses simple (mono-utilisateur)
|
|
- [[recettes-docker-compose]] — templates de déploiement
|
|
- [[securisation-home-lab]] — bonnes pratiques
|