Un backend est un système côté serveur : le code, la base de données et l’infrastructure qui traitent les requêtes d’une app et stockent ses données. Tout logiciel qui a des utilisateurs a deux moitiés. Celle qu’ils voient et touchent — écrans, boutons, formulaires — est le frontend.
Celle qu’ils ne voient jamais, celle qui décide de ce que les boutons ont le droit de faire et se souvient de ce qui s’est passé une fois l’app fermée, est le backend. La vieille analogie du mécanicien tient toujours : le conducteur manie le tableau de bord, le mécanicien s’occupe du moteur.
Cette entrée parle du moteur.
Points clés
| Question | Réponse |
|---|---|
| La définition | Tout ce qui se trouve derrière l’interface : code serveur, base de données, auth, jobs, infrastructure |
| La frontière | Une API — le frontend demande, le backend valide, décide et répond |
| Les couches | API · logique métier · données · authentification · travail en arrière-plan · infrastructure |
| Les modèles d’hébergement | Sur serveurs · serverless (FaaS et BaaS) · décentralisé |
| Le choix par défaut en 2026 | Louer les briques génériques (base de données, auth, API) ; n’écrire que la logique qui vous appartient |
Une requête, de bout en bout
La façon la plus claire de voir un backend est de regarder une requête le traverser. Un utilisateur touche « afficher mes tâches en cours » ; voici ce qui se passe de l’autre côté de l’API :
GET /classes/Todo?where={"done":false} HTTP/1.1 ← le frontend demande
Authorization: Bearer eyJhbGci… ← qui demande
backend ─┬─ couche API parser la requête, vérifier le token
├─ autorisation cet utilisateur peut-il lire ces lignes ?
├─ logique métier appliquer les règles (seules les tâches de l'appelant)
├─ couche données interroger la base, mettre en forme le résultat
└─ réponse 200 OK + JSON, en moins de 100 ms
{ "results": [ { "objectId": "xKd91m", "title": "Ship the release", "done": false } ] }
La même conversation vue du côté du frontend, à travers un SDK qui la réduit à une ligne par plateforme :
// JavaScript / Node.js — Back4app JS SDK
// The frontend asks the backend a question; the backend answers from the database
const query = new Parse.Query('Todo');
query.equalTo('done', false);
const open = await query.find();
// Under the hood: GET /classes/Todo?where={"done":false} → 200 OK + JSON
console.log(`${open.length} open todos`); // Flutter / Dart — Back4app Flutter SDK
// The frontend asks the backend a question; the backend answers from the database
final query = QueryBuilder<ParseObject>(ParseObject('Todo'))
..whereEqualTo('done', false);
final response = await query.query();
// Under the hood: GET /classes/Todo?where={"done":false} → 200 OK + JSON
print('${response.results?.length ?? 0} open todos'); // iOS / Swift — Back4app Swift SDK
// The frontend asks the backend a question; the backend answers from the database
let query = Todo.query("done" == false)
query.find { result in
// Under the hood: GET /classes/Todo?where={"done":false} → 200 OK + JSON
if case .success(let open) = result { print("\(open.count) open todos") }
} // Android / Kotlin — Back4app Android SDK
// The frontend asks the backend a question; the backend answers from the database
val query = ParseQuery.getQuery<ParseObject>("Todo")
query.whereEqualTo("done", false)
query.findInBackground { open, e ->
// Under the hood: GET /classes/Todo?where={"done":false} → 200 OK + JSON
if (e == null) println("${open.size} open todos")
} Frontend vs. backend
La distinction la plus recherchée, en un tableau :
| Frontend | Backend | |
|---|---|---|
| Où il s’exécute | L’appareil de l’utilisateur : navigateur, app mobile, poste de travail | Des serveurs que vous ou un fournisseur contrôlez |
| Ce qu’il détient | Mise en page, interaction, état local, accessibilité | Données, règles métier, identité, sécurité |
| Comment il échoue | Un écran cassé pour un utilisateur | Des données fausses ou une panne pour tous les utilisateurs |
| Langages typiques | JavaScript/TypeScript, Swift, Kotlin, Dart | JavaScript/TypeScript, Python, Java, Go, C#, Ruby, PHP, Rust |
| Ce que « terminé » veut dire | Ça s’affiche et se manipule bien | C’est correct, sécurisé et toujours rapide sous charge |
| Qui voit le code | N’importe qui — il est livré sur l’appareil | Votre équipe seule — il ne quitte jamais le serveur |
Cette dernière ligne est celle qui compte pour la sécurité : tout ce qui se trouve dans le frontend peut être lu et modifié par l’utilisateur. C’est pourquoi la validation, les permissions et les secrets appartiennent au backend, et pourquoi chaque appel d’API est traité comme non fiable tant que le serveur ne l’a pas vérifié.
Côté client et côté serveur
Ces deux termes ne désignent pas deux sortes de backend ; ce sont les deux extrémités de chaque requête. Le côté client, c’est tout code qui s’exécute sur l’appareil de l’utilisateur — afficher l’interface, conserver un état temporaire, envoyer des requêtes.
Le côté serveur, c’est tout code qui s’exécute sur des machines que l’utilisateur ne peut pas atteindre — recevoir ces requêtes, exécuter la vraie logique, lire et écrire la base de données, et répondre. « Backend » et « côté serveur » s’emploient indifféremment pour cette seconde moitié, et cette entrée fait de même.
De quoi un backend est fait
La présentation classique appelle le frontend la couche de présentation et le backend la couche d’accès aux données, et décrit le backend comme trois choses qui travaillent ensemble : les ressources matérielles, le logiciel qui tourne dessus et l’infrastructure réseau entre elles et l’utilisateur.
C’est toujours vrai, mais il est plus utile de lire un backend comme un empilement de responsabilités, dont la plupart existent dans chaque produit quelle que soit sa taille :
- Couche API — le contrat public : des endpoints REST ou GraphQL que le frontend et d’autres systèmes appellent.
- Logique métier — les règles qui font du produit ce qu’il est : ce qu’est une commande valide, qui peut approuver quoi, comment un score se calcule.
- Couche de données — la base de données et le code qui la modélise, l’interroge et la migre.
- Authentification et autorisation — qui est l’appelant et ce qu’il a le droit de faire, appliqué à chaque requête.
- Travail en arrière-plan — des jobs et des planifications pour tout ce qui ne doit pas bloquer une requête : e-mails, rapports, synchronisations, nettoyages.
- Infrastructure — les serveurs, conteneurs ou fonctions sur lesquels tout cela tourne, plus le déploiement, la journalisation, le monitoring, les sauvegardes et la mise à l’échelle.
Les cinq premières relèvent du produit. La sixième relève des opérations, et c’est la part que les modèles d’hébergement modernes existent pour supprimer.
Les architectures backend
La version originale de ce sujet décrivait trois familles — serverless, orientée serveur et décentralisée — et la taxonomie tient toujours. Ce qui a changé, c’est le choix par défaut : en 2026, la famille serverless est celle où démarrent la plupart des nouveaux produits, et « orientée serveur » désigne de plus en plus des conteneurs plutôt que des machines.
Backends sur serveurs (server-based). Votre équipe provisionne des machines, des machines virtuelles ou des conteneurs, installe un runtime et une base de données, et les exploite. Contrôle maximal, responsabilité maximale : la capacité, les correctifs, la disponibilité et l’astreinte sont à vous.
Les arguments classiques en sa faveur restent valables — un endroit unique qui partage les données entre plusieurs applications, des intégrations directes, un seul point d’accès à sécuriser — et la forme à l’intérieur peut être un monolithe ou des microservices ; le modèle d’exploitation est le même.
Backends serverless. Un fournisseur fait tourner l’infrastructure et facture à l’usage. Deux variantes : le Function as a Service, où vous déployez du code sur mesure sous forme de fonctions qui montent en charge depuis zéro, et le Backend as a Service, où la base de données, l’auth, les API, le stockage et les fonctions arrivent sous forme de plateforme gérée.
Le gain, c’est la vitesse — aucun serveur à monter avant la première feature — et la contrepartie, c’est le contrôle sur les couches les plus basses. L’échelle complète des modèles d’hébergement est comparée dans IaaS vs. PaaS vs. BaaS vs. FaaS.
Backends décentralisés. Aucun opérateur unique ; l’état vit sur un réseau pair-à-pair, généralement open-source, comme dans les blockchains et le stockage adressé par contenu. Bitcoin et Ethereum en sont les exemples canoniques, et le frontend d’une telle app est souvent hébergé de la même manière, sur des réseaux comme IPFS ou Swarm plutôt que sur un serveur.
Résistance à la censure et aucun point de contrôle central, au prix de la latence, du débit et d’un modèle de programmation très différent. Une niche avec de vrais usages, pas un remplacement généraliste des deux autres.
Sur serveurs vs. serverless vs. BaaS vs. décentralisé
| Modèle | Qui fait tourner les serveurs | Vous écrivez | Monte en charge par | Idéal pour |
|---|---|---|---|---|
| Sur serveurs | Votre équipe | Tout : app, couche de données, ops | L’ajout de capacité que vous gérez | Exigences atypiques, contrôle total, équipes ops existantes |
| Serverless (FaaS) | Le fournisseur | Les fonctions et la couche de données | Invocation, depuis zéro | Logique événementielle, trafic en pics, petites équipes |
| BaaS | Le fournisseur | Le frontend + la logique sur mesure seulement | Usage, géré par la plateforme | Apps mobiles et web qui ont vite besoin d’auth, de données et d’API |
| Décentralisé | Un réseau de pairs | Smart contracts, clients | La croissance du réseau | Systèmes à confiance minimale, état public partagé |
Cas d’usage courants
- Apps mobiles et web — comptes, données qui survivent à la session et synchronisation entre appareils ont tous besoin d’un côté serveur.
- Produits multi-utilisateurs — tout cas où l’action d’un utilisateur doit être vue par un autre : collaboration, places de marché, chat.
- Paiements et opérations sensibles — les secrets et l’argent n’ont rien à faire sur l’appareil ; le backend détient les clés et dialogue avec les fournisseurs.
- Intégrations et automatisation — webhooks, jobs planifiés et pipelines qui tournent qu’un utilisateur soit en ligne ou non.
- Fonctionnalités d’IA — appels de modèles, récupération et exécution d’outils tournent côté serveur, où les clés restent privées et où les résultats peuvent être mis en cache et audités.
Quelle approche backend devriez-vous choisir ? Matrice de décision
| Votre situation | Optez pour |
|---|---|
| Un nouveau produit mobile ou web qui a besoin d’auth, de données et d’API cette semaine | BaaS — configurez les 80 % génériques, écrivez les 20 % qui vous appartiennent |
| Une logique événementielle au trafic en rafales, sans base stable | Des fonctions serverless |
| Des exigences strictes que les plateformes gérées ne peuvent pas exprimer | Sur serveurs, avec des conteneurs et un vrai plan d’exploitation |
| Un système dont tout l’intérêt est que personne ne l’exploite | Décentralisé |
| Un backend sur serveurs existant, lent à faire évoluer | Déplacez d’abord les briques génériques vers un backend géré, gardez le cœur sur mesure |
Limites et trade-offs
- Le backend est l’endroit où les erreurs deviennent le problème de tous. Un bug frontend casse un écran ; un bug backend corrompt des données ou les expose. La validation, les permissions et les tests pèsent plus lourd ici que partout ailleurs dans la base de code.
- Les opérations ne disparaissent jamais — elles se déplacent. Les plateformes gérées absorbent les serveurs, la mise à l’échelle et les sauvegardes, mais quelqu’un reste propriétaire du modèle de données, des règles d’accès et du budget. Choisissez un modèle pour les responsabilités que vous voulez garder, pas pour celles que vous voulez oublier.
- Contrôle et vitesse tirent dans des directions opposées. Plus vous faites tourner de couches du stack vous-même, plus vous pouvez personnaliser et plus tout prend de temps ; moins vous en faites tourner, plus vite vous livrez et plus vous dépendez de la feuille de route et du pricing d’un fournisseur.
- Le réseau fait partie du contrat. Chaque appel du frontend au backend peut être lent, échouer à mi-chemin ou arriver deux fois ; budgets de latence, retries et idempotence sont des préoccupations backend dès le premier endpoint.
- « Serverless » a toujours des serveurs. Cold starts, limites d’exécution et facturation à l’usage sont de vraies contraintes ; ce sont simplement les machines de quelqu’un d’autre, avec une courbe de coût différente.
Le backend sur Back4app
Back4app est une plateforme open-source de Backend as a Service (BaaS) qui combine une base de données gérée, des API REST et GraphQL générées automatiquement, l’authentification, le stockage de fichiers et des fonctions serverless avec Cloud Code.
Projeté sur les couches ci-dessus : la couche de données et la couche API sont générées à partir de votre modèle de données, l’authentification et les permissions au niveau de la classe font respecter qui peut faire quoi à chaque requête, Cloud Code héberge la logique métier et les jobs en arrière-plan propres à votre produit, et la couche d’infrastructure — hébergement, mise à l’échelle, sauvegardes, monitoring — est le travail de la plateforme.
La requête disséquée en haut de cette page est le vrai format échangé par Back4app sur le réseau, et les SDK qui l’ont envoyée sont la façon dont le frontend parle à ce backend depuis chaque grande plateforme.
Questions fréquentes
Que signifie backend ?
La partie d'une application que les utilisateurs ne voient jamais : le code côté serveur, la base de données et l'infrastructure qui reçoivent les requêtes de l'interface, appliquent les règles métier, lisent et écrivent les données et renvoient une réponse. Si le frontend est le tableau de bord d'une voiture, le backend est le moteur et le circuit de carburant — invisibles depuis le siège, responsables de tout ce qui bouge.
Quelle est la différence entre frontend et backend ?
L'endroit où le code s'exécute et avec qui il dialogue. Le frontend tourne sur l'appareil de l'utilisateur — navigateur ou app — et affiche les écrans, capte les saisies et appelle les API. Le backend tourne sur des serveurs que vous (ou une plateforme) contrôlez, et il détient les données, les règles et la sécurité. Les deux se rejoignent sur une API : le frontend demande, le backend décide et répond.
Le backend, est-ce la même chose que le serveur ?
Pas tout à fait. Un serveur est une machine ou un processus qui répond à des requêtes réseau ; le backend est tout le système derrière l'interface — code applicatif, base de données, authentification, jobs en arrière-plan et les serveurs qui les font tourner. Un seul backend peut s'étendre sur de nombreux serveurs, et dans les architectures serverless le « serveur » se loue à la milliseconde sans jamais être géré directement.
Quels sont les types de backend ?
Classés selon qui fait tourner les serveurs : les backends sur serveurs, où votre équipe provisionne et exploite des machines ou des conteneurs ; les backends serverless, où un fournisseur fait tourner l'infrastructure et facture à l'usage — Function as a Service pour le code sur mesure et Backend as a Service pour tout le stack ; et les backends décentralisés, où aucune partie unique n'exploite le système et où des pairs partagent l'état sur un réseau. La plupart des produits combinent aujourd'hui les deux premiers.
Une base de données est-elle un backend ?
Non — c'est un composant du backend, généralement le plus important. Une base de données stocke et restitue des données ; le backend l'enveloppe d'une API, de validation, de permissions et de logique pour que les clients n'y touchent jamais directement. Une plateforme qui expose une base de données via des API générées, avec auth et règles d'accès, est un backend ; une base de données nue n'en est pas un.
Qu'est-ce que le Backend as a Service (BaaS) ?
Un backend géré que vous configurez au lieu de le construire : une base de données hébergée, des API REST et GraphQL générées automatiquement, l'authentification des utilisateurs, le stockage de fichiers, les notifications push et des fonctions serverless pour la logique sur mesure. Vous continuez d'écrire le frontend et les règles qui comptent pour votre produit ; la plateforme fait tourner le reste. C'est le moyen le plus rapide d'obtenir un backend de production pour une app mobile ou web.
Quels langages sont utilisés pour le développement backend ?
Tout langage doté d'un écosystème serveur mature : JavaScript et TypeScript sur Node.js, Python, Java et Kotlin, C#, Go, Ruby, PHP et Rust sont les choix courants. Le langage compte moins que ce qui l'entoure — le framework, le pilote de base de données, le modèle d'hébergement — et dans un BaaS, l'essentiel du travail backend passe par les SDK de la plateforme et un peu de code serverless.
Que fait un développeur backend ?
Il conçoit le modèle de données, construit et documente les API, implémente la logique métier et les jobs en arrière-plan, sécurise l'authentification et les permissions, et garde le système rapide et disponible à mesure que le trafic augmente. En pratique, une large part du métier relève des opérations — déploiements, monitoring, mise à l'échelle, sauvegardes — et c'est exactement la part que les plateformes gérées absorbent.