Backend, frontend, what does it mean.png

Backend, frontend, qu’est-ce que ça veut dire ?

Publié le 03 juillet 2019

Temps de lecture 6 minutes

Lorsque l’on parle de programmation informatique, de code ou de développement web, on est pas toujours très familier avec le jargon technique, pourtant certaines expressions reviennent régulièrement. “Backend” et “Frontend” en font partie. Deux termes que l'on entend de plus en plus, mais finalement qu'est ce que c'est ? Qu'est ce que ça représente et à quoi ça sert ?

J’ai pris l’habitude d’expliquer ces termes dès le premier jour à mes élèves lorsqu'ils se lancent dans le domaine du développement web. Aujourd’hui, je vous l’explique :

Il y a du backend et du front end partout

Dans le domaine du développement informatique, on développe des “applications”.

Ces applications peuvent prendre la forme d’un site web (expl : le site de la Wild Code School), d’une application web (expl : le Google Drive), d’une application mobile (ex: Waze).

Pour fonctionner, une application ou site web à très souvent besoin de ce que l'on appelle dans le jargon de la tech, une partie backend (ou back-end) et une partie frontend (ou front-end). On peut lire sur différentes ressources, « le front c'est ce que l'utilisateur final (vous) voit, et le back, c'est ce que l'on ne voit pas », mais qu'est ce que cela veut dire?

Backend et frontend en très simplifié

Pour mieux comprendre ces deux notions, éloignons-nous des termes techniques pendant un instant et prenons un exemple de la vie de tous les jours : les services postaux  

Imaginons la situation suivante : je dois envoyer une lettre à une entreprise, et cette entreprise devra me faire un courrier en retour afin d’apporter une réponse à ma demande.

Dans cet exemple, la lettre que je dois envoyer représente ma recherche d’information sur un site internet (ou application web).

Nous allons maintenant décomposer les différentes actions qui découlent de l’envoi de ma lettre et toutes les étapes nécessaires depuis son envoi jusqu’à la réception de la réponse de l’entreprise à ma demande.

Plusieurs acteurs seront impliqués au fil des étapes :

  • le facteur
  • la boîte aux lettres
  • le centre de tri
  • le guichet
  • les tiroirs dans lesquels sont rangés le courrier
  • le courrier

Décomposons maintenant les étapes du processus :


Lorsque j’envoie ma lettre par la poste, toutes les interactions physiques que je vais avoir tant que le courrier est entre mes mains représentent la partie front-end de l’entreprise.

A contrario, toute la partie acheminement et traitement de mon courrier (dans laquelle je ne suis pas directement impliqué) représente la partie back-end de l’entreprise. 

Maintenant vous devriez mieux comprendre la phrase que l’on citait plus haut à savoir “Le front c’est ce que l’on voit et le back c’est ce que l’on ne voit pas” : je vois mon courrier lorsque je le poste, je vois la boîte aux lettres, je vois le facteur, cela représente la partie front-end, mais lorsque mon courrier est trié, stocké, en phase d’acheminement, etc… et bien je ne le vois pas, cela représente la partie back-end de l’organisation.

Et concrètement pour une application ou un site web

Les mêmes concepts se retrouvent dans le cycle de vie d’un site web ou d’une application :

  • Je vois le site que je consulte. Pour interagir avec le site, je clique sur des liens, ou je rempli des formulaires que je vois, c’est le front-end.
  • Une fois que mon action de clique est terminée, mon site ou application travaille en autonomie : il reçoit ma demande, cherche l’information que j’ai demandée (pour cela il va consulter la base de données et analyser/sécuriser la donnée), puis me la renvoie, c’est la partie backend, 
  • Une fois que le backend à renvoyer l’information, je peux de nouveau la consulter et interagir avec, je suis de nouveau sur le front-end.

On se rend bien compte ici que ces deux facettes d’un site ou d’une application sont essentielles (au même titre que le centre de tri et le facteur dans les services postaux), l’un ne peut aller sans l’autre et, comme dans les services postaux, ce n’est pas la même personne qui distribue le courrier et qui tri ce dernier. 

De la même façon lorsque l’on développe une application ou un site internet, nous avons besoin d’un développeur front-end et un développeur backend.

Pour aller encore plus loin dans la comparaison…

Si on voulait aller encore plus loin, on pourrait parler de sécurisation ou de performance :

De la même façon que La Poste dispose de différents services pour accompagner l’envoi de ma lettre (recommandé, colissimo en 24h, etc…) qui représentent des cheminements un peu différents sur la partie backend du processus; sur mon site web, je peux varier les performances et la sécurisation de mes actions via une programmation un peu différente de mon backend.

Dans une application par exemple, vous avez bien souvent la possibilité de vous enregistrer sur le site en saisissant une adresse email et un mot de passe, pour ensuite accéder à un espace privé et personnalisé. Ici, le remplissage du formulaire représente la partie frontend : vous visualiser l’action. Tandis que la sécurisation de votre compte, elle, représente le backend : vous ne pouvez pas percevoir, visuellement, que votre compte est protégé, pourtant, c’est bien le cas. Tout se fait en backend.

Nous pourrions faire le même parallèle avec les envois chronopost 24h et les performances de traitement d’un site par exemple.

Et les “langages” dans tout ça ?

L’entreprise La Poste vous permet d’envoyer vos courriers, mais vous pourriez également un choisir une autre entreprise (DHL, Fedex, etc…). Chacun possède ses propres services, ses méthodes en frontend, et en backend.

Et bien dans le développement, c’est pareil mais on appellera cela des langages. Par exemple, pour développer en backend, vous pouvez utiliser PHP, Java, Ruby, etc… En revanche, pour développer la partie frontend on se dirigera essentiellement sur du Javascript, HTML ou CSS.

On s’arrête là pour aujourd’hui, vous avez déjà compris beaucoup de choses.

Je reviendrai plus en détail sur les langages dans mon prochain article 😉

À très vite !