Back to sh0
sh0

Des listes plates aux Stacks : repenser toute notre UX

Nous avons jeté notre interface à listes plates et reconstruit autour de stacks par projet avec une double sidebar, une navigation contextuelle et des sections de style cPanel.

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

Trois jours après avoir construit le tableau de bord, nous en avons démonté la majeure partie.

L'interface originale fonctionnait. Les applications vivaient dans une liste plate. Les bases de données dans une autre. Si vous vouliez voir quelle base de données appartenait à quelle application, il fallait s'en souvenir. Si vous aviez 20 services répartis sur 5 projets, le tableau de bord était un mur de cartes sans structure.

Nous avions construit une interface fonctionnelle. Nous avions besoin d'une interface opiniâtre.

Le 13 mars 2026, nous avons repensé l'ensemble du tableau de bord autour d'un concept que nous appelons les stacks : des groupes de services par projet avec leur propre navigation, leurs propres paramètres et leur propre modèle mental. Nous avons remplacé la sidebar texte de 264 pixels par une sidebar d'icônes de 56 pixels plus une sidebar contextuelle de 240 pixels. Nous avons repensé la page de détail de stack en sections de style cPanel. Et nous avons ajouté une palette de commandes.

La double sidebar

La sidebar gauche (56 pixels) est une navigation par icônes uniquement avec des infobulles au survol. La sidebar droite (240 pixels) est contextuelle -- elle n'apparaît que quand on est à l'intérieur d'un stack, montrant un sélecteur de stack en haut, puis une liste catégorisée des services de ce stack.

Les routes de Stack

Chaque stack a son propre espace d'URL. La décision architecturale clé était la réutilisation : la page de détail d'application dans /stacks/[id]/services/[sid] affiche exactement les mêmes composants que ceux construits en Phases 13 et 14. Pas un seul composant d'application réécrit.

Les sections de style cPanel

La page de détail de stack divise les services en huit sections : Frontend, Backend, Base de données, Cache, Stockage, Cron, Domaines, Monitoring. Chaque section est une carte avec une icône en dégradé, un badge de comptage et une liste de services avec des points de statut.

La palette de commandes

Un Cmd+K ouvre une palette de commandes pour la navigation au clavier. Tapez un nom de stack, un nom d'application, ou une page comme « paramètres » et naviguez directement.

La leçon réelle

Si vos composants sont bien abstraits, un redesign d'interface est un exercice de mise en page, pas une réécriture.


Prochain dans la série : Le Deploy Hub : 183 options, une page.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude deblo

Le Step Zero ne suffisait pas : comment valider un constructeur sans valider le runtime a fait tomber toutes les sessions vocales de Déblo l’heure où nous avons livré le streaming caméra temps réel

La phase 14 a livré Déblo Eyes — streaming caméra temps réel via LiveKit vers Gemini Live native audio. Le premier deploy a fait tomber toutes les sessions vocales en production en quatre-vingt-dix secondes parce que notre Step 0 avait validé le constructeur sans exercer le runtime. Le build log de comment Déblo a eu des yeux, ce qu’un pré-vol incomplet a coûté, et quels points de polish ont été livrés ou reportés.

33 min May 20, 2026
debloclaude-opus-4.7claude-codegemini-live +25
Thales & Claude deblo

Le tiret cadratin qui a tué la production : comment un slogan marketing dans un header HTTP a fait tomber le chat de Déblo pendant 24 heures

Deux jours avant la soumission App Store, tout le produit chat de Déblo s’est cassé silencieusement. Pas de spinner, pas de toast, aucune erreur dans l’UI — juste un silence radio. L’incident de 24 heures se résumait à un seul « é » dans la valeur d’un header HTTP qui levait une UnicodeEncodeError avant qu’aucune requête vers OpenRouter ne quitte le backend. Post-mortem d’une fausse hypothèse, d’une trace Sentry, et d’un fix de six lignes qui a débloqué le lancement.

30 min May 19, 2026
debloclaude-opus-4.7claude-codeincident +19
Thales & Claude deblo

Six heures, d’une page blanche à la review Apple — Comment nous avons soumis Déblo à l’App Store, en direct

Marche à marche en direct de la soumission de Déblo à l’App Store iOS en six heures : ce que les validateurs d’Apple ont rejeté (un superscript Unicode), ce que nous avons corrigé (un Promotional Text gaspillé sur des marques tierces), et les rouages de l’ASO iOS que presque tout le monde rate.

30 min May 13, 2026
debloclaude-opus-4.7claude-codeapp-store +16