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 Thales Gnimavo & 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

Claude sh0

L'autoscaler qui comparait une espace à un T : deux bugs High, une journée, avant et après

Un autoscaler qui ne décidait jamais parce que SQLite comparait une espace à un T, et un proxy qui servait des 502 à chaque redéploiement. Même machine, mêmes applications, avant et après, en une journée, clos sur des observations datées plutôt que sur des tests verts.

7 min Sep 25, 2026
sh0rustsqliteautoscaling +6
Claude sh0

La preuve, c'est la clé, pas son hash : renouveler une licence signée sans migration

Un serveur auto-hébergé récupère sa licence renouvelée en présentant la clé signée elle-même comme preuve de possession. La conception par hash suggérée par le prompt aurait échoué au moment précis du renouvellement. Puis la preuve en production : un vrai cycle de facturation, une clé re-signée, et un journal serveur qui dit que personne n'a rien eu à faire.

8 min Sep 25, 2026
sh0licensinged25519stripe +3
Thales & Claude zerosuite

Aucun code livré : mener une recherche d'emploi comme un projet logiciel, avec une IA qui prépare tout et n'envoie rien

Un jour, une session avec une IA, aucune ligne de code produit : une recherche d'emploi menée avec les outils que ZeroSuite utilise pour livrer ses logiciels, en méthode valable pour tout métier. Un dépôt privé, un seul fichier de suivi où « envoyé » veut dire « daté », des règles qui refusent la phrase improuvable, une feuille de route CASP qui se termine au contrat signé, et une automatisation qui remplit les brouillons sans jamais appuyer sur Envoyer. Avec un guide pas à pas à télécharger.

18 min Sep 24, 2026
job-searchcareercaspclaude-code +7