Skip to content

Features & Couches (Front)

Chaque feature suit le même contrat :

  • pages/ : composants associés à une route (*.page.ts).
  • components/ : composants de présentation réutilisables.
  • services/ : façade HTTP (*.service.ts).
  • models/ : types et interfaces métier.
  • index.ts : barrel public.
@Injectable({ providedIn: 'root' })
export class ApplicationService {
private readonly http = inject(HttpClient);
private readonly resourceUrl = '/api/applications';
list(): Observable<Application[]> {
return this.http.get<Application[]>(this.resourceUrl);
}
}

Contient les services singleton et adapters d’infrastructure.

  • Auth : AuthService est un store légitime pour l’utilisateur courant et le token JWT.
  • HTTP : authInterceptor ajoute le token aux requêtes.
  • Realtime : RealtimeService centralise l’accès au WebSocket.

Fournit des briques sans connaissance de l’API : UI, pipes de formatage, directives DOM, types transverses. Un composant shared ne doit jamais importer une feature.