---
title: Spacepad
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, tracking, temps, espaces-travail, php, laravel]
confidence: medium
contested: false
sources: [https://selfh.st/apps/spacepad, https://github.com/operandus/spacepad]
---

# 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é)
```yaml
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]]
