Files
wiki/Catalogue-Self-Hosted/apps/app-spacepad.md
T
2026-06-09 18:40:21 +02:00

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
catalogue
tracking
temps
espaces-travail
php
laravel
medium false
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é)

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]]