Qu’est-ce que signifie front-end ou back-end lors d’un projet de conception web ou mobile ? Si ces deux termes reviennent très souvent avant même la phase de développement, c’est qu’ils sont particulièrement importants dans la construction du projet digital.
Prenons l’exemple de la conception d’une application web. Imaginons que l’on souhaiterait développer une application d’échanges et de partages de fichiers BtoB, entre un expert-comptable, par exemple, et un entrepreneur. Pour fonctionner, notre application doit avoir besoin d’une interface utilisateur, à destination des clients de l’expert-comptable, et d’une interface administrateur, laquelle sera l’interface de l’expert-comptable.
Pour développer une telle application, vous allez avoir besoin d’au moins deux types de développeurs web: le développeur front-end, et le développeur back-end. Pour comprendre où ces derniers vont intervenir, et ce que représente le back-end et le front-end dans un projet web, restons sur notre exemple.
Le développement front-end : conception de l’interface graphique utilisateur
Les deux interfaces sur lesquelles interagiront l’expert-comptable et le client de l’expert sont considérées comme du front-end. En effet, il s’agit de la partie visible de l’application, destinée à être manipulée par un tiers.
Il ne faut donc pas confondre « front-end » et « back-end » avec « interface client » et « panneau administrateur ». Dans la conception graphique du premier comme du second, ce sont les compétences d’un développeur front-end qui seront nécessaires.
En effet, celui-ci va mettre en place les éléments graphiques qui permettront à l’utilisateur final de se repérer sur l’interface et la prendre facilement en mains. Il va également développer les interactions, les animations, le responsive design,… Il travaillera conjointement avec au moins un webdesigner et, idéalement, un expert UX afin de livrer une interface ergonomique et ludique.
Les compétences du développeur front-end sont, au minimum :
- HTML
- CSS
- Javascript
Il peut aussi se reposer sur les frameworks suivants :
- jQuery
- Angular
- Bootstrap
- Foundation
- Semantic UI
- Pure…
La liste est très loin d’être exhaustive. Il existe un grand nombre de bibliothèques et de frameworks (que vous pouvez consulter sur le guide de l’Open Source), certains possédant des spécificités qui font leur réputation : légèreté, ergonomie UX, type de projet,… Dans tous les cas, le développement front-end d’une application demandera généralement le choix d’un framework dans sa conception, pour des questions de coûts, de temps et de sécurité.
Toujours dans le même cadre, nous vous invitons à jeter un coup d’œil sur cette vidéo :
Le développement back-end : clé de voûte de l’application web
Une belle interface reste une coquille vide si une équipe de développement back-end n’intervient pas sur notre application web. En accord avec le cahier des charges, l’équipe de développeurs back-end va travailler au développement des fonctionnalités de l’application mobile.
Le travail du dev back-end est invisible pour l’utilisateur final, mais sans son intervention, pas d’application. La partie back-end va construire, développer et mettre en interaction trois piliers essentiels au fonctionnement de l’application :
- Le serveur d’hébergement
- L’application web
- La base de données
Le serveur est le disque dur sur lequel seront enregistrées votre application, partie front-end. Tous les fichiers composant les pages, le design, les éléments qui construisent la partie visible de votre application.
La base de données, quant à elle, est construite par le développeur back-end de sorte à conserver dans des tableaux spécifiques toutes les données nécessaires au fonctionnement de l’application (ID d’un utilisateur, droits d’utilisateurs, stockage des mots de passe, etc.).
Pour que la base de données puisse être mise à jour, modifiée, ou que des éléments (nouvel utilisateur, par exemple) puissent s’intégrer à la base pré-existante, le développeur back-end va utiliser des langages dynamiques, lesquels vont connecter la base de données avec l’application.
Pour cela, le développeur back-end va avoir tendance à utiliser les langages :
- PHP
- Ruby
- Python
- SQL
Pour les mêmes raisons de coûts, rapidités et rentabilités que le développeur front-end, le dev back-end utilise généralement des frameworks tels que :
- Symfony
- django
- Ruby on Rails
- Angular
- Meteor
Si, traditionnellement, on attribue le développement PHP au développement du back-end, cette tendance tend à changer, notamment grâce à l’essor d’Angular. Ainsi, il n’est pas impossible pour un développeur back-end de s’orienter vers du développement en js. Ces profils sont d’ailleurs très recherchés.
Voici une vidéo explicative qui illustrera mieux le développement back-end :
Comment collaborent le développeur back-end et front-end ?
Nous avons vu, globalement, comment fonctionnaient chacune des parties d’un projet applicatif, web ou mobile. On sait que le front-end concernera donc la partie visible et interactive, mais qu’elle repose sur le travail fait sur la partie immergée de l’iceberg, par le développeur back-end.
Concrètement, comment vont collaborer le développeur back-end et front-end ? Imaginons que, sur l’interface administrateur de notre application, l’expert-comptable veuille pouvoir créer un nouveau compte client.
Il va devoir suivre le chemin suivant, depuis l’application :
- Se connecter
- Accéder à la page d’ajout d’un utilisateur
- Remplir un formulaire de création d’un nouvel utilisateur
- Le valider
À tous ces moments, l’expert-comptable aura fait appel au travail fait à la fois sur le back-end que sur le front-end. En effet, pour se connecter, l’utilisateur final va devoir interagir avec un formulaire (front-end), lequel interrogera la base de données pour vérifier l’exactitude des informations qu’il y entrera (back-end).
Il se dirigera ensuite vers la page utilisateur et interagira avec celle-ci pour ouvrir le formulaire de création d’un nouvel utilisateur (front-end). Il remplira alors le formulaire de création (front-end), puis, en le validant, va permettre au formulaire de se créer une nouvelle entrée dans la base de données, qui permettra à son client de se connecter sur l’interface utilisateur (back-end).
L’équipe back-end et l’équipe front-end peuvent travailler ensemble de différentes façons. Le front-end peut se consacrer à l’UI (interface utilisateur) exclusivement sur la base du développement back-end, lequel aura déjà construit toutes les interactions avec la base de données.
Dans d’autres cas, le développement back-end se consacrera au développement fonctionnel de la base de données. Ces données sont ensuite transmises aux développeurs front-end qui utiliseront ces appels vers la base de données dans leur code.
En conclusion, la ligne est parfois fine, dans les faits, entre le développeur front-end et le développeur back-end. Il n’est pas rare que l’un maîtrise une partie du terrain de l’autre, tant ces deux aspects du développement sont liés. Il existe, par ailleurs une troisième catégorie de développeurs, capables d’appliquer ses compétences à la fois sur la partie back-end et front-end : le développeur full-stack.
Le profil du développeur full-stack est d’autant plus recherché par les entreprises et agences qu’il a une vision plus globale du projet et un large spectre de compétences. Il peut d’ailleurs faire un excellent consultant, du fait de sa capacité à se mettre dans la peau d’un développeur front-end ou back-end selon les besoins.
À la recherche d’un emploi dans le développement ? Trouvez la perle rare avec LesJeudis !
- Comment utiliser le framework React JS - 17/09/2020
- Les logiciels ERP en 2020 - 16/09/2020
- La reprise de l’emploi sur le marché informatique en temps de crise mondiale - 28/08/2020
Les Jeudis
merci Seb, c’est fixé maintenant : )
Seb
Je pense être tombé sur une coquille dans cette partie :
« Nous avons vu, globalement, comment fonctionnaient chacune des parties d’un projet applicatif, web ou mobile. On sait que le front-end concernera donc la partie visible et interactive, mais qu’elle repose sur le travail fait sur la partie immergée de l’iceberg, par le développeur front-end. »
Le dernier mot est plutôt « back-end » au lieu de « front-end ».