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