Comprendre le Feature-Sliced Design
Les couches du Feature-Sliced Design
FSD définit 7 couches standard, mais dans la pratique on peut adapter ce nombre au contexte du projet. Voici les couches les plus courantes.
Shared : La fondation
La couche shared contient tout ce qui est réutilisable et sans connaissance métier :
- Composants UI génériques (
Button,Input,Modal) - Utilitaires (
formatDate,slugify) - Types partagés
- Configuration globale
// shared/lib/date.ts
export function formatDate(date: Date): string {
return new Intl.DateTimeFormat('fr-FR', {
year: 'numeric',
month: 'long',
day: 'numeric',
}).format(date);
}
Entities : Le domaine
La couche entities modélise les concepts métier de l’application. Chaque entité possède ses types, sa logique de récupération et ses composants de présentation.
Par exemple, dans un blog, l’entité principale est l’article :
model/types.ts: les interfaces TypeScriptmodel/get-all-articles.ts: la logique de récupérationui/ArticleCard.astro: le composant de présentation
Widgets : L’assemblage
Les widgets assemblent des entités et des composants shared pour former des blocs fonctionnels autonomes. Un widget est auto-suffisant : il contient tout ce dont il a besoin.
Règle d’import
La règle d’or : les imports ne vont que vers le bas. shared ← entities ← widgets ← pages ← app.
Jamais l’inverse. Jamais de cross-import entre slices d’une même couche.
Tags
Révisions
Articles similaires
De Zéro à 1 appliqué à l'architecture
BFF, microservices, frameworks en hype : et si ton architecture n'était que le reflet de ce que tu as copié ? Ce que 'De zéro à un' de Peter Thiel t'apprend sur les décisions techniques qui créent un vrai avantage.
La fin des artisans du web ? Non, leur renaissance
Les petites structures acteurs de la renaissance du web.
Écoconception
Empreinte environnementale estimée · Modèle SWD v4 · 442 g CO₂eq/kWh