BFF (Backend for Frontend)

Architecture 🟡 Mid

Définition

Un backend dédié par type de client (web, mobile, IoT) qui adapte et agrège les données des services backend pour les besoins spécifiques de chaque frontend.

Analogie

Un assistant personnel par langue : chacun traduit et résume l'information selon les besoins de son interlocuteur.

Exemple de code

// Mobile BFF - donnees legeres
app.get('/api/mobile/feed', async (req, res) => {
  const data = await feedService.get();
  res.json(data.map(toMobileFeedItem));
});

Cas d'usage

Quand le web a besoin de données riches et le mobile de données légères.

Anti-pattern

Un seul backend pour tous les clients avec des if/else par plateforme.
#architecture#interview#microservices

En entretien

  1. Explique le pattern BFF (Backend for Frontend).

    C'est un backend dédié par type de client (web, mobile, IoT) qui adapte et agrège les données des services backend selon les besoins spécifiques de chaque frontend.

  2. Dans quel cas ce pattern se justifie-t-il ?

    Typiquement quand le web a besoin de données riches et le mobile de données légères, ce qu'un backend unique gère mal.

  3. Quel est l'anti-pattern que le BFF évite ?

    Un seul backend pour tous les clients truffé de if/else par plateforme, au lieu d'un backend dédié par frontend.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre