Chapitre 2.3
Back-end
Nous avons précédemment défini le front-end comme étant l'ensemble de ce qui est exécuté par l'appareil de l'utilisateur. Le back-end, c'est simple, c'est tout le reste :
- Le code qui est exécuté par les serveurs.
- Les outils associés : stockage de données, optimisation, surveillance, sécurité, etc.
Le front-end s'appuie sur le back-end, en particulier pour obtenir ou enregistrer des données.
Presque tout ce que tu vois sur un site provient d'une base de données et transite par un backend :
articles d'un blog, menu, compte utilisateur...
Le back-end est plus qu'un intermédiaire vers une source de données.
Son rôle principal est de centraliser les règles métier. Ça lui permet :
- D'exécuter les fonctionnalités asynchrones de la navigation du client.
- D'être au service du front-end et parfois même de le piloter.
Exemple :
Lors du renouvellement de son abonnement, le back-end détecte que la carte bancaire du client arrive à expiration. Tu veux lui envoyer un email et lui afficher un message sur tous ses appareils une fois par jour.
Il est préférable de centraliser ce capping "une fois par jour" dans le back, ça évite de le dupliquer dans toutes
les applications front-end : difficile à maintenir et à faire évoluer.
Ici, c'est donc le back qui indique au front qu'il doit afficher quelque chose à l'utilisateur et lui donne les règles.
Pour les appliquer, chaque front-end met en place la partie technique propre à sa plateforme : cookies, base de données locales...
Une page de paiement est un bon contre-exemple. Un backend non certifié n'a pas le droit de manipuler des coordonnées
bancaires. Le frontend va ainsi directement dialoguer avec le partenaire de paiement, gérer le traitement et mettre en place les différents
parcours (formulaire bancaire, challenge 3DS…).
Plus loin dans ce guide, nous étudierons différentes architectures du backend.
En particulier, nous verrons à quel point son organisation est étroitement liée aux métiers de l'entreprise.
La conception diffère complètement entre un backend destiné à un e-commerce réalisant trois ventes par jour
et un média subissant des pics de milliers de visiteurs par minute.
Ces deux cas ont toutefois quelques points communs, le principal d'entre eux étant la sécurité. Un backend fragile
peut donner à un attaquant des accès directs vers une base de données.
Le front-end et le back-end sont en contact permanent pour assurer un service de qualité à l'utilisateur.
Dans le prochain chapitre, nous verrons que leur relation a beaucoup évolué ces dernières années.
