4.7 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spacepad | 2026-06-07 | 2026-06-07 | app |
|
medium | false |
|
Spacepad 🛰️
Un tracker de temps conçu pour les espaces de travail partagés (coworking, FabLabs, makerspaces), facturation au temps passé.
| Métadonnée | Valeur |
|---|---|
| Site web | https://spacepad.app/ |
| GitHub | https://github.com/operandus/spacepad |
| License | AGPL-3.0 |
| Langage principal | PHP (Laravel) |
| Étoiles GitHub | ⭐16 |
| Dernière MAJ | 2025-11-20 |
| Catégorie | cat-tracking |
Description
Spacepad est un time tracker spécialisé pour la gestion d'espaces de travail partagés : coworking, FabLabs, hackerspaces, ateliers makers. Plutôt qu'un Toggl ou Clockify qui suit le temps par projet-utilisateur, Spacepad suit le temps par poste/place dans un espace physique, ce qui permet de facturer à l'heure ou au forfait les occupants.
L'application est écrite en Laravel 11 (PHP 8.2+) avec Livewire pour l'interface réactive. Elle gère les membres, les postes de travail (salles de réunion, établis, machines CNC, postes de coworking), les réservations, et exporte des rapports de présence (CSV, PDF).
Les cas d'usage typiques : un FabLab qui veut facturer l'usage d'une imprimante 3D ou d'une CNC au temps passé, un coworking qui propose des forfaits « 20h/mois » à suivre précisément, un atelier qui loue des établis à la journée. L'API REST est documentée et permet l'intégration avec des systèmes de paiement ou de badgeuse RFID.
⚠️ Bus factor 1 (un seul mainteneur), rythme de publication lent. Projet jeune mais fonctionnel.
Installation
Via Docker (recommandé)
services:
spacepad:
container_name: spacepad
image: ghcr.io/operandus/spacepad:latest
restart: unless-stopped
ports:
- "8087:8087"
volumes:
- spacepad-data:/var/www/html/storage
- spacepad-db:/var/lib/mysql
environment:
- APP_KEY=base64:...
- APP_URL=https://espace.example.com
- DB_CONNECTION=mysql
- DB_HOST=db
- DB_DATABASE=spacepad
- DB_USERNAME=spacepad
- DB_PASSWORD=changez-moi
depends_on:
db:
condition: service_healthy
db:
image: mysql:8
restart: unless-stopped
environment:
- MYSQL_DATABASE=spacepad
- MYSQL_USER=spacepad
- MYSQL_PASSWORD=changez-moi
- MYSQL_RANDOM_ROOT_PASSWORD=yes
volumes:
- spacepad-mysql:/var/lib/mysql
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
volumes:
spacepad-data:
spacepad-mysql:
### Installation manuelle
1. Pré-requis : PHP 8.2+, Composer, MySQL 8 / MariaDB 10.6+, Node 20+ (pour le build).
2. Cloner : `git clone https://github.com/operandus/spacepad.git`
3. `composer install --no-dev && npm install && npm run build`
4. Configurer `.env` (base, mail, clé d'application).
5. `php artisan migrate --seed`
6. Servir via Nginx + PHP-FPM.
## Configuration
- Créer l'**administrateur** via `php artisan make:filament-user` (le seeder en crée un par défaut — changer le mot de passe !).
- Définir les **espaces** (salles, machines) avec leurs tarifs horaires.
- Configurer les **membres** : particuliers, entreprises, avec leurs forfaits.
- Activer les **rappels email** (fin de session, dépassement de forfait).
- Brancher une **badgeuse RFID** via l'API (webhook entrant) pour pointer automatiquement.
## Alternatives
### Open source
- **Kimai** — time tracker généraliste, très mature (⭐3k+)
- **Toggl Track** *(propriétaire)* — le plus connu, freemium
- **TimeTagger** — orienté freelancers, Python
- **Solidtime** — moderne, Laravel aussi
### Propriétaires
- **Toggl Track** — freemium, cloud-first
- **Clockify** — freemium, jusqu'à 5 users gratuit
- **Harvest** — payant, orienté agences
## Sécurité
- **Changer `APP_KEY`** par une clé aléatoire de 32 caractères (`php artisan key:generate`).
- **HTTPS obligatoire** en production (reverse proxy Traefik/Caddy + Let's Encrypt).
- **Sauvegardes MySQL** régulières (`mysqldump`) + synchronisation du volume de stockage.
- **Rate-limiting** sur l'API d'authentification (Laravel throttle).
- **2FA** disponible via TOTP (Google Authenticator, etc.) — l'activer pour les admins.
## Ressources
- Site officiel : https://spacepad.app/
- Dépôt GitHub : https://github.com/operandus/spacepad
- Documentation : https://docs.spacepad.app/
## Pages Liées
- [[cat-tracking]]
- [[recettes-docker-compose]]