Le backend et le frontend cor­res­pon­dent aux deux niveaux, à la fois in­dé­pen­dants et com­plé­men­taires, d’un logiciel. Comparons un logiciel à une voiture : le backend cor­res­pond au châssis, au moteur, au système élec­trique et aux freins, ainsi qu’à d’autres com­po­sants mé­ca­niques. Le frontend désigne au contraire l’habitacle et le volant, le tableau de bord et d’autres fonctions de commande ou en lien avec le confort.

De­fi­ni­tion

Dans un site Web ou une ap­pli­ca­tion, le backend cor­res­pond à la partie en arrière-plan, invisible pour les uti­li­sa­teurs. Le stockage et le trai­te­ment des données s’ef­fec­tuent dans le backend.

Qu’est-ce qu’un backend ?

« Backend » est un terme anglais sig­ni­fiant lit­té­ra­le­ment « partie arrière », ou encore « sous-structure ». Le backend peut être comparé à des coulisses.

Dans le langage courant, il peut désigner deux concepts dif­fé­rents :

  1. Le niveau logiciel dans lequel s’effectue le trai­te­ment des données.
  2. Une zone d’ad­mi­nis­tra­tion à laquelle les uti­li­sa­teurs or­di­naires n’ont pas accès.

Un logiciel peut être comparé à une machine pour le trai­te­ment des données : des calculs y sont effectués, et leurs résultats dé­ter­mi­nent le fonc­tion­ne­ment du logiciel. Des données y sont créées et stockées, tout par­ti­cu­liè­re­ment à l’aide de bases de données telles que MongoDB et MySQL. Tout est effectué en arrière-plan.

Con­trai­re­ment au frontend, dont la con­cep­tion est axée sur l’uti­li­sa­teur, un backend se concentre davantage sur les spé­ci­fi­ca­tions tech­niques. Il est associé à l’ef­fi­ca­cité et aux per­for­mances, mais également à l’évo­lu­ti­vité et à la sécurité.

Con­for­mé­ment au principe Se­pa­ra­tion of concerns (lit­té­ra­le­ment « Sé­pa­ra­tion des préoc­cu­pa­tions »), le backend et le frontend sont réalisés comme des niveaux in­dé­pen­dants. Pour qu’un logiciel soit en­tiè­re­ment fonc­tion­nel, il doit toujours être composé de ces deux niveaux. Un backend sans frontend serait comme une machine sans boutons.

Note

Découvrez en détail la dif­fé­rence entre le backend et le frontend dans notre article.

Qui travaille sur le backend ?

Deux groupes d’uti­li­sa­teurs dif­fé­rents peuvent être amenés à tra­vail­ler sur le backend :

  1. Les ad­mi­nis­tra­teurs, qui gèrent un système en se con­nec­tant au backend.
  2. Les dé­ve­lop­peurs backend, qui s’occupent de créer, de maintenir et de dé­ve­lop­per des backends.

Découvrez avec nous comment ces deux groupes tra­vail­lent exac­te­ment sur le backend.

Comment tra­vail­lent les ad­mi­nis­tra­teurs sur le backend ?

Pour expliquer fa­ci­le­ment le travail sur le backend prenons l’exemple d’un système de gestion de contenu bien connu, le CMS WordPress. En vous con­nec­tant à WordPress en tant qu’ad­mi­nis­tra­teur, vous pouvez accéder au backend de ce CMS, qui répond aussi au nom de « tableau de bord WordPress ». Vous disposez alors d’une interface per­son­na­li­sée dans laquelle vous pouvez créer, éditer et supprimer dif­fé­rents contenus.

Conseil

Utilisez l’hé­ber­ge­ment WordPress proposé par IONOS pour profiter d’un site WordPress de façon à la fois rapide et sécurisée.

En plus des opé­ra­tions CRUD (pour la gestion des données) clas­siques, les ad­mi­nis­tra­teurs WordPress utilisent le backend pour gérer les rôles d’uti­li­sa­teur WordPress et utilisent par exemple des plugins WordPress pour sécuriser le site Web et pour mener à bien d’autres tâches ad­mi­nis­tra­tives.

Note

Le tableau de bord WordPress est comparé à un « backend », mais il s’agit d’une interface uti­li­sa­teur graphique. Dans ce cas, le passage du backend au frontend est donc ex­trê­me­ment fluide.

Comment tra­vail­lent les dé­ve­lop­peurs sur le backend ?

Con­trai­re­ment aux ad­mi­nis­tra­teurs, **les dé­ve­lop­peurs backend n’ont pas besoin de se connecter au backend pour tra­vail­ler. Ils évoluent plutôt dans un en­vi­ron­ne­ment de dé­ve­lop­pe­ment local, qu’ils utilisent pour écrire du code source afin de l’exécuter sur le serveur ou le conteneur backend.

À la suite de tests, le plus souvent au­to­ma­ti­sés, ils se servent d’outils d’in­té­gra­tion continue pour charger le code sur le serveur en tant que dé­ploie­ment. Une autre solution consiste à utiliser des plugins ; ils s’attaquent alors au dé­ve­lop­pe­ment de plugins WordPress qui fonc­tion­nent dans le backend, mais qui peuvent aussi être gérés par des ad­mi­nis­tra­teurs.

Au contraire du frontend, qui s’exécute sur le client, le backend fonc­tionne sur le serveur. De manière générale, une pile de tech­no­lo­gies appelée « Web stack » (en français « pile de logiciels ») est utilisée à la fois pour le dé­ve­lop­pe­ment et l’exécution. LAMP et MEAN comptent parmi les piles de logiciels les plus connus, mais il en existe beaucoup d’autres.

Une pile de logiciels comporte un système d’ex­ploi­ta­tion ou un conteneur en guise d’en­vi­ron­ne­ment d’exécution. Un programme serveur qui reçoit des demandes et y répond en continu s’exécute au sein de celui-ci. Pour ce faire, des scripts sont eux aussi exécutés dans un langage de pro­gram­ma­tion Web faisant le lien entre le serveur et la base de données :

Pile de logiciels En­vi­ron­ne­ment d’exécution Serveur Base de données Langue
LAMP Linux Apache MySQL PHP
MEAN Node.js Express.js MongoDB Angular (Ja­vaS­cript)

Les dé­ve­lop­peurs backend utilisent ré­gu­liè­re­ment des fra­me­works Web pour faciliter la ré­cu­pé­ra­tion, le trai­te­ment et le stockage des données. Découvrez avec nous les prin­ci­paux fra­me­works pour le backend.

Note

Le saviez-vous ? Les pro­fes­sion­nels de la pro­gram­ma­tion qui tra­vail­lent à la fois dans le backend et le frontend sont appelés des « dé­ve­lop­peurs full stack ».

Quels sont les prin­ci­paux fra­me­works pour le backend ?

Les fra­me­works fa­ci­li­tent le travail de dé­ve­lop­pe­ment lié au backend. En effet, ils per­met­tent de ne pas avoir à répéter à chaque fois les processus né­ces­saires, tels que l’au­then­ti­fi­ca­tion de l’uti­li­sa­teur ou encore la connexion à une base de données. Souvent, le mul­ti­lin­guisme et un langage de template pour la création du code HTML diffusé sur le frontend comptent également parmi les fra­me­works pour le backend.

Le choix du bon framework pour le backend dépend surtout de l’en­vi­ron­ne­ment ou du langage de pro­gram­ma­tion qui est utilisé. Les langages les plus utilisés à cet effet sont PHP ou Python, Ruby, ainsi que Ja­vaS­cript et Java. Découvrez avec nous les fra­me­works les plus po­pu­laires pour le backend dans ces langages.

Symfony et Laravel : des fra­me­works de haut niveau pour le backend dans PHP

Symfony et Laravel comptent parmi les fra­me­works les plus répandus pour le backend. Ils per­met­tent tous les deux de pro­gram­mer des ap­pli­ca­tions Web am­bi­tieuses, sans pour autant avoir à les créer de toutes pièces. Laravel a la ré­pu­ta­tion d’être plus simple et rapide à prendre en main, tandis que Symfony est réputé plus puissant et flexible.

Les deux systèmes jouissent d’une cons­truc­tion modulaire très populaire. Ainsi, le framework Symfony dans PHP a permis de créer nombre de tech­no­lo­gies Web toutes plus utiles les unes que les autres. Son con­cur­rent direct, Laravel, a également fait ses preuves en matière de dé­ve­lop­pe­ment grâce aux templates Blade Laravel.

Conseil

Apprenez à pro­grammes vos propres ap­pli­ca­tions Web avec PHP : consultez notre très complet tutoriel PHP.

Ruby on Rails : un classique des fra­me­works MVC pour le backend

Lorsqu’il est apparu, le framework pour le backend Ruby on Rails (RoR) a tout de suite fait figure de ré­vo­lu­tion et a gran­de­ment contribué au triomphe initial du langage de script Ruby. Jusqu’alors, aucun autre framework n’avait autant mis l’accent sur la pro­duc­ti­vité et la sa­tis­fac­tion des dé­ve­lop­peurs. RoR a po­pu­la­risé l’approche MVC (« Model-View-Con­trol­ler » ou « Modèle-Vue-Con­trô­leur » en français), ouvrant ainsi la voie à de nombreux fra­me­works sup­plé­men­taires pour le backend.

Django : pro­gram­mer dans Python avec ce framework pour backend

Python compte parmi les plus clas­siques des langages de script pour le Web. Avec Django, vous profitez d’un framework puissant pour le backend, afin de pro­gram­mer ra­pi­de­ment de nouvelles ap­pli­ca­tions Web. Django est basé sur le modèle MVC et propose son propre moteur de template.

Conseil

Découvrez les bases de ce langage de script grâce à notre tutoriel Python.

Express et Node.js : écrire des ap­pli­ca­tions Web dans Ja­vaS­cript

Une dis­tinc­tion existait au­pa­ra­vant entre les langages de pro­gram­ma­tion pour le backend et le frontend. Les langages pour le frontend (HTML, Ja­vaS­cript et CSS) s’op­po­saient aux langages pour le backend (PHP, Python, Perl et Ruby). L’ap­pa­ri­tion de l’en­vi­ron­ne­ment d’exécution Node.js de Ja­vaS­cript a mis fin à ces dif­fé­rences. En effet, il est désormais possible d’utiliser Ja­vaS­cript pour le frontend comme pour le backend.

Node.js a posé les bases de l’écriture pour les ap­pli­ca­tions Web dans Ja­vaS­cript. Dans cette con­fi­gu­ra­tion, il est gé­né­ra­le­ment possible d’utiliser un framework Web tel qu’Express. Cette com­bi­nai­son a acquis toute sa renommée lors de son uti­li­sa­tion au sein de la pile MEAN, avec MongoDB et le framework pour frontend Angular.

Spring : écrire des ap­pli­ca­tions Web dans Java avec un framework pour le backend

En tant que tel, Java n’est pas considéré comme un langage per­met­tant la création d’ap­pli­ca­tions Web modernes. Toutefois, le framework Spring propose une base suf­fi­sam­ment stable pour dé­ve­lop­per des ap­pli­ca­tions Java complexes. Des solutions plus récentes encore, telles que Quarkus, permet d’exécuter des con­te­neurs de façon per­for­mante.

Conseil

Apprenez à créer vos propres ap­pli­ca­tions Java en utilisant le framework Spring, en con­sul­tant notre tutoriel « Spring Boot ».

Aller au menu principal