Qu’est-ce que le backend et à quoi sert-il ?
Auteur : Rédaction Domeny.ForSale Publié le
En bref : Le backend est la partie d’une application qui fonctionne côté serveur : il traite les requêtes, applique les règles de fonctionnement du service et contrôle l’accès aux données. Il sert par exemple à vérifier un mot de passe, à enregistrer une commande ou à consulter un historique d’achats. L’utilisateur ne le voit généralement pas directement, mais accède à ses fonctions par un site web ou une application mobile.
Backend et frontend : quelle est la différence ?
Le frontend est la partie de l’application avec laquelle l’utilisateur interagit directement : formulaires, boutons, menus et affichage des données. Sur un site web, il fonctionne principalement dans le navigateur. Le backend reçoit les requêtes envoyées par celui-ci et détermine les actions autorisées.
Dans un formulaire de connexion, le frontend affiche les champs de saisie de l’adresse e-mail et du mot de passe. Le backend vérifie les identifiants et, si la connexion réussit, permet de reconnaître l’utilisateur lors des requêtes suivantes. Le simple affichage d’un écran « Vous êtes connecté » ne donne pas accès au compte : cet accès doit être contrôlé côté serveur.
Cette distinction ne signifie pas que chaque projet comporte deux applications séparées. Le backend peut aussi générer le code complet de la page, que le navigateur affiche ensuite. Dans d’autres architectures, il transmet principalement des données, à partir desquelles le frontend construit lui-même l’affichage.
Quelles sont les responsabilités du backend ?
La principale tâche du backend est d’appliquer la logique métier, c’est-à-dire les règles qui définissent le fonctionnement du service. Dans une boutique, elles peuvent déterminer si un code de réduction s’applique à un produit donné ; dans un système de réservation, si le créneau choisi est encore disponible.
Les responsabilités habituelles du backend comprennent :
- La validation des données : vérifier que les valeurs transmises respectent le format attendu et les règles de l’application.
- L’authentification et les droits d’accès : déterminer qui est l’utilisateur et quelles informations il peut consulter ou modifier.
- La lecture et l’enregistrement des données : récupérer des produits, mettre à jour un profil ou enregistrer une commande.
- Les intégrations : communiquer avec un prestataire de paiement, un service d’envoi de messages ou un système de gestion des stocks.
- Les tâches en arrière-plan : générer des rapports ou envoyer des confirmations sans bloquer l’écran de l’utilisateur.
Les contrôles effectués dans le frontend peuvent faciliter la saisie d’un formulaire, mais ils ne remplacent pas la validation des données par le backend. Il est possible d’envoyer une requête sans passer par le formulaire. Le serveur ne doit donc pas faire aveuglément confiance aux prix, aux identifiants de comptes ou aux informations sur les droits d’accès transmis par l’utilisateur.
Comment fonctionne le backend lors d’un achat ?
Imaginez que vous achetez le dernier exemplaire d’un livre dans une boutique en ligne. Après un clic sur « Commander », l’application doit faire bien plus que modifier le contenu de l’écran.
- Le frontend envoie au backend une requête contenant l’identifiant du produit, la quantité et les données nécessaires à la commande.
- Le backend vérifie la disponibilité du livre et calcule le montant à payer à partir de données fiables sur les prix et les réductions.
- Il enregistre la commande et sécurise la gestion du stock pour éviter que deux achats simultanés ne conduisent à vendre le même exemplaire à deux personnes.
- Dans le cas habituel d’un achat avec paiement en ligne, il communique avec le prestataire de paiement et transmet au frontend les informations nécessaires à l’étape suivante.
- Après avoir reçu et vérifié la confirmation du paiement, il met à jour le statut de la commande.
Une API, ou interface de programmation, définit les modalités de cette communication : les requêtes possibles et la forme des réponses. Un même backend peut, par une API, prendre en charge aussi bien une boutique accessible dans le navigateur qu’une application mobile. Une API n’est toutefois pas synonyme de backend : c’est un moyen de donner accès à ses fonctions.
Backend, serveur et base de données : trois notions distinctes
Un serveur peut désigner un ordinateur qui met des ressources à disposition ou un programme qui répond aux requêtes. Le backend est la partie de l’application qui fonctionne sur cette infrastructure. Il ne se trouve pas nécessairement sur un seul appareil physique : il peut utiliser plusieurs machines ou services cloud.
Une base de données est un système qui permet de stocker et de consulter des informations de manière structurée. Le backend l’utilise, par exemple, pour enregistrer un compte client. Mais la base seule ne remplace pas les règles qui déterminent qui peut modifier ce compte. Tous les backends n’ont pas non plus besoin de leur propre base : certains services traitent les données à la volée ou les récupèrent dans d’autres systèmes.
On peut développer un backend notamment en Python, en Java, en PHP, en C# ou en JavaScript exécuté dans l’environnement Node.js. Le choix du langage ne détermine pas à lui seul la qualité de l’application. La décision dépend aussi de l’expérience de l’équipe, des bibliothèques disponibles, des intégrations nécessaires et des coûts de maintenance.
Quand avez-vous besoin de votre propre backend ?
Un simple site vitrine présentant des services et des coordonnées peut fonctionner sans backend applicatif propre. L’hébergement fournit toujours les fichiers au navigateur, mais il n’a pas nécessairement à exécuter une logique spécifique pour chaque visiteur. Un formulaire de contact peut, quant à lui, être pris en charge par un service externe : c’est alors son fournisseur qui assure le backend nécessaire.
Les comptes utilisateurs, les documents privés, les réservations ou les modalités de facturation particulières nécessitent généralement des fonctions de backend. Cela ne veut pas dire qu’il faut tout développer de zéro : une plateforme de commerce en ligne prête à l’emploi ou un système de gestion de contenu peuvent déjà les proposer. Une solution sur mesure se justifie surtout lorsque les outils disponibles ne permettent pas d’appliquer des règles essentielles au projet.
Avant de faire développer une application, listez les données qu’elle doit conserver, les personnes autorisées à les modifier et les services avec lesquels elle doit communiquer. Cette liste permettra d’évaluer si une plateforme existante suffit ou s’il faut concevoir un backend sur mesure.
À lire aussi : Qu’est-ce que le 2FA ?
