Projet personnel — en production

STAR
LAB

Plateforme de deploiement logiciel self-hosted.

Backend Python, agent Go, app Self-Service cross-platform, dashboard web temps reel.
Deploiement sur Windows, Linux et macOS avec verification d'integrite, gestion de parc et 85+ paquets.

Voir en production // Stack technique
5
langages utilises
3
OS supportes
85+
paquets deployes
prod
en ligne 24/7

Technologies utilisees

Chaque brique du projet repose sur des technologies de production, choisies pour leur performance et leur fiabilite.

Ce que fait STARLAB

Une plateforme complete concue, developpee et deployee de A a Z.

01
Catalogue de paquets

Format .starpkg (ZIP) contenant manifest.json + scripts Python cross-platform. Upload, versioning et gestion depuis le dashboard.

.STARPKG · VERSIONING
02
Gestion de parc

Inventaire temps reel via WebSocket. Groupes, statut online/offline, historique des deployments. Agent Go autonome <5 MB.

WEBSOCKET · REALTIME
03
Securite integree

SHA256 obligatoire, JWT par machine, workflow d'approbation admin. L'agent refuse d'executer si la chaine de confiance est rompue.

SHA256 · JWT · ENROLLMENT
04
Deploiement cible

Ciblez tout le parc ou un groupe. Suivi live des logs par machine. Callback agent avec exit code et output du script.

GROUPS · LOGS · LIVE
05
App Self-Service

Application cross-platform (macOS native WKWebView, Windows/Linux via navigateur). Enrolement, catalogue et installation locale.

WIN · MAC · LINUX
06
Self-hosted & Docker

FastAPI + SQLite + Docker. Zero dependance cloud. HTTPS via Let's Encrypt, reverse proxy Nginx, deploiement en une commande.

DOCKER · VPS · HTTPS

Vue d'ensemble du systeme

Trois composants autonomes qui communiquent via API REST et WebSocket.

Dashboard Web
SPA JavaScript vanilla — gestion des machines, paquets, deploiements. Dark mode, temps reel via WebSocket, filtres et recherche.
|
API FastAPI
Backend Python asynchrone. Auth JWT, endpoints REST, WebSocket broadcast, gestion des .starpkg, verification SHA256.
|
Agent Go + App macOS
Binaire Go cross-compile. Heartbeat, execution des taches, callback de status. App Self-Service via WKWebView + CGO pour macOS.
docker — production
$ docker ps
CONTAINER        STATUS       PORTS
starlab-app      Up 14d       :8000

$ tree /app --dirsfirst
/app
├── server/
│   ├── main.py          # FastAPI
│   ├── routers/
│   │   ├── machines.py
│   │   ├── packages.py
│   │   ├── deployments.py
│   │   └── selfservice.py
│   └── services/
│       └── auth.py
├── dashboard/       # SPA JS
├── agent-go/        # Go binaire
├── scripts/         # Install
└── starlab.db       # SQLite

[prod] starlab.peter-cloud.com
_

Self-Service multi-plateforme

Une app pour les utilisateurs finaux sur les 3 OS. Catalogue, installation en un clic, heartbeat en arriere-plan.

STARLAB Self-Service
STARLAB 12 logiciels

Binaire Go cross-platform

macOS : fenetre native WKWebView via CGO.
Windows / Linux : serveur local + navigateur par defaut.

  • Workflow d'enrolement : la machine demande l'acces, l'admin approuve depuis le dashboard
  • Heartbeat en arriere-plan — status online meme app fermee
  • Installation locale : telecharge le .starpkg, extrait, execute le script Python
Terminal
curl -sL https://starlab.peter-cloud.com/selfservice/install | bash
PowerShell
irm https://starlab.peter-cloud.com/selfservice/install-win | iex
Terminal
curl -sL https://starlab.peter-cloud.com/selfservice/install-linux | bash

Chaine de confiance

Chaque etape est authentifiee et verifiee. L'agent refuse d'agir si un maillon est compromis.

starlab-agent · task execution
[INFO]  Task recv: discord-install
[INFO]  Status → downloading
[INFO]  Package: discord-1.0.0.starpkg
[INFO]  Verifying SHA256...
[OK]   a3f9c2e7b841... ✓ match
[INFO]  Status → running
[INFO]  Exec: install.py
[INFO]  brew install --cask discord
[OK]   Status → success · exit=0
[INFO]  Cleanup workdir done
_
demo live

Projet en production

STARLAB tourne sur un VPS Ubuntu 24.04 accessible en HTTPS.
Dashboard, API, agent et app native — tout est fonctionnel.

Python · Go · JavaScript · Objective-C · Docker · Let's Encrypt · peter-cloud.com