Back to sh0
sh0

Le Deploy Hub : 183 options, une page

Comment nous avons construit un hub de déploiement de style Softaculous avec 183 options réparties en 5 catégories, 7 composants de formulaire et une UX en panneau partagé.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 2 min sh0
EN/ FR/ ES
deployuxdashboardsveltetemplatespaassoftaculous

La partie la plus difficile du logiciel auto-hébergé est le premier déploiement. Pas parce que la technologie est difficile -- Docker a rendu cela presque trivial -- mais parce que l'interface donne l'impression qu'il faut connaître Docker avant de pouvoir l'utiliser.

Nous voulions quelque chose de différent. Nous voulions l'expérience de Softaculous -- l'installeur en un clic qui est livré avec cPanel depuis plus d'une décennie. Ouvrir une page, voir tout ce qu'on peut déployer, cliquer sur celui qu'on veut, remplir un nom, et c'est parti.

Le 15 mars 2026, nous avons construit cette page. Cent quatre-vingt-trois options de déploiement. Cinq catégories. Sept composants de formulaire spécialisés. Une mise en page en panneau partagé avec le catalogue à gauche et le formulaire de déploiement à droite.

Le catalogue

La fondation est un fichier TypeScript appelé deploy-catalog.ts qui définit chaque option déployable. Les 183 options se décomposent en : Types de source (6), Frameworks (63), Bases de données (27) et Applications (87).

Chaque option spécifie son formType, qui détermine quel composant de formulaire s'affiche. Le catalogue est des données pures -- pas de composants, pas d'effets de bord. La recherche, le filtrage par catégorie et la navigation par sous-groupe sont tous instantanés.

Les sept composants de formulaire

FormGit.svelte -- Le formulaire le plus courant : nom d'application, URL du dépôt Git, branche, port. FormUpload.svelte -- Glisser-déposer pour les fichiers .zip et .tar.gz. FormDockerImage.svelte -- Pour tirer des images pré-construites. FormDockerfile.svelte -- Zone de texte pour coller un Dockerfile brut. FormCompose.svelte -- Zone de texte pour un docker-compose.yml. FormService.svelte -- Le formulaire en un clic pour les bases de données et applications pré-configurées. FormFramework.svelte -- Formulaire Git spécialisé pour les frameworks avec commandes de build pré-remplies.

Le sélecteur de Stack

Chaque formulaire inclut un sélecteur de Stack obligatoire en haut. Auto-sélection si un seul stack existe, pré-sélection via paramètre URL, et création en ligne.

La recherche

La barre de recherche est autofocus au chargement de la page, et la grille filtre en temps réel. Le catalogue entier est en mémoire -- 183 objets pesant environ 30 Ko. Le filtrage côté client est l'architecture correcte ici.


Prochain dans la série : Terminal web et explorateur de fichiers dans un PaaS auto-hébergé.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude thales

Treize agents, quarante-trois minutes : la première session Workflow de Claude Fable 5, et ce qu'un script d'orchestration déterministe change aux builds multi-agents

Un prompt, treize agents, quarante-trois minutes : la première session de production avec Claude Fable 5 et l'outil Workflow de Claude Code a livré un site web de production complet de sept pages plus un endpoint backend de capture de leads, en un seul commit. Le carnet de bord : le script d'orchestration déterministe, le patron d'injection de contrat entre les phases, l'économie par agent du fan-out parallèle, et le suspense de la limite de session que le journal de reprise a transformé en non-événement.

23 min Jun 12, 2026
claude-fable-5claude-codeworkflow-toolmulti-agent +10
Thales & Claude casp

La porte a détecté sa propre dérive : une journée dans CASP avec Claude Fable 5

Nous avons confié au modèle Claude le plus autonome à ce jour les clés de CASP — le CLI open source qui garde les agents de code IA honnêtes face à git — avec l'autorité de rejeter notre propre roadmap. Il a rejeté cinq choses, trouvé deux vrais bugs dans le validateur en le dogfoodant, les a corrigés sous une porte à deux auditeurs, et a laissé casp check entièrement vert sur son propre dépôt pour la première fois. CASP 0.3.0 en est le résultat.

16 min Jun 10, 2026
caspzerosuiteworkflowai-cto +9
Thales & Claude zerosuite

La transplantation du CASP : comment la discipline des six fichiers est passée de Conductor à un ERP transport anti-fraude, ce que la compétence /next ajoute quand l'opérateur tape juste « next », et pourquoi le coût d'une dérive du CASP grimpe quand le projet, c'est l'argent des autres

La discipline du CASP qui a piloté trente-cinq sessions de Conductor est agnostique au produit. Le carnet de bord de sa transplantation sur KASSIA, un ERP transport anti-fraude pour un exploitant de flotte en Côte d'Ivoire : ce qui a migré, ce qui n'a pas migré (le validateur sur mesure — et ce que son absence coûte), ce que la compétence /next ajoute quand l'opérateur tape un seul mot, et là où le CASP s'arrête — le bug de déploiement qu'il ne pouvait pas voir parce qu'il enregistre l'intention, pas la réalité de l'infrastructure.

23 min Jun 8, 2026
kassiaerp-kassia-transport-logistiquezerosuiteCASP +15