Back VS Front
par Alice De Bonnières · Publié · Mis à jour
Qu'est ce que le Back / Qu'est ce que le Front ?
Introduction
Pour cet article nous allons tenter, ensemble, de dépasser la simple distinction entre les définitions du Front-end et du Back-end et s’attacher à comprendre les différences et les convergences des profils des développeurs et leur apport sur les structures logicielles et sites statiques et dynamiques.
Si vous pensez avoir besoin d’un rappel sur le fonctionnement d’un site web, vous pouvez retrouvez notre article détaillé ici.
Le développeur Back-end
Définition détaillée
La partie Back de la programmation est la face cachée de l’iceberg puisque non visible par le visiteur. Elle représente la part de code exécutée par le serveur et servant à rendre un site dynamique via le travail effectué sur les pages web.
Pour tout code effectué en Back, un langage particulier existe : le langage serveur qui se décline ensuite en plusieurs sous-langages dont les populaires PHP, Java, Python, Ruby, ASP.NET Core, ASP.NET MVC, etc.
L’architecture du Back-end peut être hiérarchisée en trois socles primordiaux à son bon fonctionnement :
- Le serveur du site
- L’application, qu’elle soit web ou mobile
- La base de données servant au stockage et à l’organisation du projet
Le développeur Front-end
Définition détaillée
Souvent plus connue du grand public, la partie front-end est destinée au client (navigateur web) et est représenté visuellement par les composantes du site avec lesquelles il est possible d’interagir en tant qu’internaute (boutons, liens de redirection, vidéos, etc.)
Pour parvenir à ce résultat, une complexe combinaison de codes est nécessaire et renferma plusieurs langages de programmation : HTML, CSS, JavaScript. C’est par ce codage que le site obtiendra à la fois un design graphique et technique unique.
Le développeur Full-stack
Aussi incroyable que cela puisse paraître (…), la notion de Full-stack détermine un développeur ayant acquis l’ensemble des compétences Back (serveur) et Front (client). Les compétences techniques du développeur Full-stack lui permette de réaliser la globalité des tâches techniques telles que :
- La programmation d’un navigateur par l’utilisation, entre autres, de JavaScript, Angular ou React.
- La programmation d’un serveur par l’utilisation, entre autres, de PHP, ASP, Python ou Node.
- La programmation d’une base de données via SQL, SQLite
- Pris en compte de l’expérience utilisateur (UX)
- Intégration HTML
Les avantages de travailler avec un full stack
Posséder dans son équipe un développeur Full-stack revient à posséder un véritable couteau suisse. Il doit pouvoir être à même de régler la totalité des problèmes techniques, d’où sa rareté. Les avantages sont multiples à posséder cette expertise :
- Maîtrise de toutes les techniques d’un projet de développement
- Réalisation rapide de prototypes
- Fournir l’aide nécessaire aux autres membres de l’équipe
- Réduire certains coûts du projet
- Réduction du temps consacré à la communication Back-Front
Conclusion
Il est important d’ouvrir cet article sur le concept de DevOps. (vous retrouvez un article complet sur le sujet ici). Ce mouvement apparu peu après la notion d’agilité met en exergue le besoin d’associer toutes les parties prenantes d’un projet. A savoir : la partie développement logiciel (les développeurs) et l’administration des infrastructures automatiques.
Le fait de travailler conjointement amène aujourd’hui les profils de développeurs à évoluer pour s’adapter à un écosystème plus global et les obligent à prendre un compte de nouveaux paramètres en considération et à adopter de nouvelles techniques. En premier lieu, le fait d’adopter des cycles de développement itératifs plus courts afin de démultiplier la fréquence de déploiement et ainsi offrir des livraisons de façon continue et développer une logique plus à même de respecter les ambitions économiques de la société porteuse du projet.