elouann.dev
EN — English version

ProjetsSystèmes, réseau & algorithmes

SpinUp

Une stack web en une commandeen cours

Période
oct. 2025 – aujourd’hui
Cadre
personnel
Équipe
solo
  • Go
  • Vue.js
  • Docker
  • DevOps
  • Administration système
  • CLI
  • Web

Voir le code

Un outil en ligne de commande qui prépare un projet web complet en une seule commande : il lit une configuration, va chercher les modèles de front-end et de back-end choisis, et les installe côte à côte.

Cobra : init · create · resetspin createmy-appdefaults.yaml~/.config/spinup.env${VAR:défaut}résolutiondépôt + frameworkclone frontgoroutineclone backgoroutinemy-app/my-app-front/ · my-app-back/les deux clones tournent en parallèle
SchémaCe que fait spin create : lire la configuration, résoudre les modèles, puis les cloner en parallèle.

L’usage

Trois commandes : spin init crée la configuration par défaut dans ~/.config/spinup/, spin create mon-app crée le projet, et spin reset remet la configuration à zéro. La configuration est un fichier YAML qui liste des dépôts de modèles et les choix par défaut (front-end, back-end, nom du projet).

Sous le capot

L’adresse d’un modèle est construite à partir du dépôt distant et du nom du framework. Les valeurs peuvent venir de variables d’environnement, avec une valeur par défaut (${GITHUB_TOKEN:…}), ce qui permet aussi d’utiliser des dépôts privés.

Le front-end et le back-end sont clonés en parallèle, grâce aux goroutines de Go. Les commandes reposent sur la bibliothèque Cobra.

Pourquoi

Je l’ai commencé pour apprendre le Go, sur un vrai besoin : je perdais du temps à recréer la même base à chaque nouveau projet.

Ce que j’en retiens

  • Le Go rend la concurrence simple à écrire, et donc facile à abuser : il faut quand même attendre proprement.
  • Un bon outil CLI tient en peu de commandes, bien nommées.