blog

Différence entre le développeur Front-End et le développeur Back-End ?

illustration_back-end-front-end

Vous vous demandez ce qui différencie un développeur Front-End d’un développeur Back-End ? À vrai dire, vous n’êtes pas la seule personne à vous poser la question. Ces termes viennent certainement se mélanger dans votre esprit avec «intégrateur web» ou encore «webmestre», «programmeur», «web designer»…
Les rôles et les profils de poste de la production web ont évolué au cours de ces dernières années, il est donc parfois difficile de comprendre ce que fait concrètement chacun.

Nous allons identifier et différencier les rôles de développeur Front-End et développeur Back-End qui sont les deux profils-types que l’on retrouve dans la plupart des agences web de nos jours.

Le développeur Front-End

Lorsque l’on parle de «Front-End», il s’agit finalement des éléments du site que l’on voit à l’écran et avec lesquels on peut interagir. Ces éléments sont composés de HTML, CSS et de Javascript contrôlés par le navigateur web de l’utilisateur.

Les champs de compétence du Front-End peuvent être séparer en deux :
– Le design
– Le développement HTML, CSS, Javascript

Le design est traditionnellement réalisé par un web designer qui produit des maquettes graphiques à l’aide de Photoshop ou Fireworks. Cependant de plus en plus de web designer ont franchi la barrière et savent coder en HTML et CSS. Dans certains cas ils sont aussi capables de produire du Javascript.

Auparavant lorsque l’on parlait de développeur, on sous-entendait développeur Back-End. Maintenant on s’aperçoit que certains web designers possèdent également des compétences en développement.

Le développeur Front-End est donc une personne qui peut être issue du milieu du web design en ayant renforcée ces connaissances en développement. Il peut aussi être un développeur qui a choisi de se spécialiser dens les technologies et langages du Front-End tels que :
– HTML
– CSS
– Javascript
– jQuery
jQuery est un framework javascript, pour simplifier c’est une bibliothèque Javascript qui permet de coder plus vite et plus simplement.
Il existe de nombreuses bibliothèques Javascript plus ou moins complexes et adaptées à différents usages.

Maintenant, pour que le site prenne vie et que le travail du développeur Front-End soit complété, c’est au tour du développeur Back-End d’intervenir !

 

Le développeur Back-End

Le Back-End, c’est un peu comme la partie immergée de l’iceberg. Elle est invisible pour les visiteurs mais représente une grande partie du développement d’un projet web. Sans elle, le site web reste une coquille vide.

On peut décomposer le Back-End en trois parties essentielles :
– Un serveur (ou hébergement web)
– Une application (en l’occurrence le site web)
– Une base de données (ou l’on stocke les données de l’application)

Le serveur est comme un disque dur accessible 24 heures sur 24, sur lequel les pages du site web sont enregistrées.

Pour pouvoir conserver vos mots de passe, vos préférences, votre panier d’achat que vous avez saisi grâce aux éléments de Front-End, il est nécessaire de les enregistrer dans une base de données. La base de données est comparable à un grand tableau avec des colonnes contenant par exemple «nom», «prénom», «mot de passe», «achat en cours». Lors de votre inscription sur un site, votre profil est enregistré dans ce tableau.
Pour pouvoir conserver, traiter, modifier ces données et fournir des informations à jour sur un site internet (comme des actualités, des fiches produits, des images, des vidéos), le développeur Back-End va utiliser des langages de programmation «dynamique».

Les langages les plus utilisés sont PHP, Ruby, Python, SQL. Souvent pour rendre le code plus claire, facilement modifiable et plus simple à maintenir en équipe, le développeur travaille avec des frameworks tels que Cake PHP, Symfony ou Code Igniter.

Enfin, le développeur Back-End met également en place et configure le serveur qui accueillera le site lui-même.

Le cas WordPress

WordPress est un outil de gestion de contenu (ou CMS) qui permet d’administrer simplement le contenu d’un site web sans pour autant être expert en développement Back-End.
WordPress est un framework PHP qui est simple à customiser. Le web designer n’ayant pas de grandes compétences en codage, pourra facilement créer une maquette graphique HTML, CSS voire Javascript et l’implanter rapidement dans WordPress. Le site sera alors livrable au client dans la mesure où les fonctionnalités attendues restent simples !

Dans ce cas, on peut s’affranchir d’un développeur Back-End.

 

Conclusion

Le développeur Front-End et Back-End sont deux profils qui doivent travailler en étroite collaboration. Cette collaboration est indispensable pour mener au mieux un projet web. L’aspect visuel et ergonomique doivent être penser en même temps que l’aspect Back-End du site web. Chacun des aspects ayant des contraintes et des normes qu’il est important de considérer en amont, avant de se lancer tête baissée dans un projet.

 

Un petit schéma pour symboliser tout cela, ça vous aide ?! 😉

Différence développeur Front-End et Back-End

 

Si vous recherchez un développeur Front-End capable de créer un thème WordPress complet et avancé, contactez-moi ! 🙂

Ça devrait aussi vous intéresser...
  • fred

    WordPress, un Framework PHP ???

    • alticreation

      Effectivement, WordPress n’est pas un framework PHP a proprement parler. Il s’agit effectivement d’un CMS utilisant le langage PHP.
      Toute fois, on peut considérer que ses multiples fonctions simplifiées en font un outil qui permet de développer une solution PHP en tout simplicité. Finalement, un peu à la manière d’un framework !

    • Piju

      Bonjour,
      En soi un CMS est un framework puisque effectivement il apporte un lot de fonctionnalité très complète et nécessite de connaître la syntaxe et les particularités de celui-ci.
      Un framework n’est, pour moi, pas simplement une bibliothèque de fonctionnalité, cela peut-être plus que cela, comme pour le cas des CMS !
      Je suis assez d’accord avec toi sur ce point.

    • Julien

      Quelle horreur… confondre CMS et framework.. Seuls les développeurs amateurs peuvent confondre… Avez vous déjà utilisé un vrai framework sans déconner?

    • Bonjour Julien,
      inversement à votre question, avez-vous déjà utilisé un CMS ?
      Aujourd’hui il ne s’agit plus de simple gestionnaire de contenu, les fonctionnalités sont bien plus entendues que du simple affichage de page. Je pense à WordPress notamment.

      Disons que certains CMS doivent être appréhendés comme un framework. De toute façon, tout dépend de ce qu’on veut bien faire avec un framework. En tout cas dans le cadre de développement web (et donc de sites web), un CMS comme WordPress amène un lot de fonctionnalités étendues se rapprochant de nombreuses fonctionnalités de frameworks comme CakePHP ou Laravel qu’on le veuille ou pas.

    • Julien

      Si j’ai déjà utilisé un CMS? Je bosse depuis 4 ans sur du Drupal, et honnêtement même si on peut dire que Drupal prétend se situer entre le framework et le CMS, ce n’est qu’un argument marketing pour ma part. Certes il y a une sorte de framework interne à Drupal mais on ne peut pas dire que Drupal EST un framework puisque (tout comme wordpress) on ne peut sortir du contexte CMS (à moins d’être un gros tordu et de virer la moitié du core).

      Il ne faut pas mélanger les termes ou en abuser. Un framework n’est pas qu’un ensemble de fonctionnalités foutues en vrac, et WordPress n’est PAS un framework, tout au mieux il en a un propre à lui même en interne (sur lequel il y aurait beaucoup à redire… mais c’est un autre débat). De façon $GLOBAL, ce n’est pas non plus parce q’un système embarque des fonctions utiles qu’on peut dire que c’est un framework.

      Alors oui, un CMS PEUT se baser sur un framework (comme le très bon Fluent-CMS sur Django) dans ce genre de cas, les 2 sont bien découplés (enfin le framework surtout car l’autre peut rien faire tout seul) ce qui n’est pas le cas sur wordpress ou drupal.

      J’ai déjà fait quelques sites perso en wordpress sans vraiment rentrer dans le détail, (moins j’y rentre dedans et mieux je me porte je dois avouer.. question de… design pattern.. hmm hmm.) certes je reconnais que WordPress m’a été bien utile pour faire mes petits trucs persos ou pour les amis assez rapidement, mais en imposant un minimum LA conception du site sur le natif ou avec ses plugins). Par contre si je souhaites développer un projet avec une conception spécifique et moins limitée, ce n’est pas avec un CMS que je vais massacrer à coup de plugin à surcharger par du code bourrin que je le ferais. Plutôt avec un framework ou un micro framework et faire mon travail avec un outil adapté, pouvoir maitriser tout mon site sans effets de bord, gerer mes exceptions, faire un site sans back office si je veux, gérer et personnaliser mon CRUD, gerer convenablement mes dépendances (et pas avec un plugin foireux..), créer un site sans base de données si j’en ai envie et choisir mon ORM dans le cas contraire si je souhaites, et pas me voir imposé cette parodie d’orm qu’est wpdb…

    • Stéphane Charré

      Merci d’apporter ce lots d’informations complémentaires. Il est vrai que en tant qu’apprenti développeur dans le milieu du web on n’a pas le recul nécessaire pour différencier le CMS du Framework.

      Cordialement,

    • Julien, merci pour ta participation très intéressante, je préfère nettement cette réponse argumentée qui fait avancer le débat.

      Effectivement, tout dépend du projet web qu’on veut monter.
      Par ailleurs il est juste que WordPress a d’abord été un CMS pour blog, image qui lui colle toujours à la peau. Mais l’évolution des fonctionnalités dédiées aux développeurs le transforme petit à petit en pseudo-framework.

      WordPress est idéal pour des projets à réaliser en peu de temps ou pour des projets de petite ou moyenne envergure. On est d’accord.

      Ensuite, si on veut s’affranchir d’un environnement restrictif comme WordPress, on peut effectivement se tourner vers des frameworks qui n’ont pas d’environnement polluant par défaut. Mais on se retrouve un jour ou l’autre également confronté au même problème : le framework est lui aussi limitant.

      Alors pour faire un projet sur-mesure avec uniquement des services désirés, autant y aller sans framework, non ?

      S’ouvre donc un autre débat : Faut-il utiliser un framework ou pas pour des projets très spécifique ? 😉

      PS : pour la parodie d’orm qu’est wpdb, je plussoie !

    • Julien

      Désolé d’avoir été bourrin et injurieux dans mon message d’avant… Quand il y a des choses qui me font bondir j’ai tendance à m’emporter avant d’argumenter, mais j’y travaille chaque jour :/

      Un dev grincheux mais pas méchant 🙂

    • Julien

      Il y a une différence entre un framework reconnu, et le pseudo-framework d’une solution. Mais il n’y a jamais de solution miracle, on est bien d’accord. Et certains aspects de framework tels que Symfony ou Cake me rebute également je peux pas le cacher.

      Concernant WP il reste du legacy dans le core depuis ces débuts car oui l’image de moteur de blog lui collera à la peau tant qu’une petite refonte ne sera pas faite pour prouver le contraire. Car à l’origine il n’a pas été pensé pour ce qu’on en fait aujourd’hui, et l’image qu’il en a c’est un peu comme si on lui rajoutait des briques par dessus pour compenser et corriger le tir. Je ne connais pas le futur voulu pour WP, mais certains CMS se remettent plus en question que ça, et osent faire de gros chantiers, comme apporter du composer et des composants symfony par exemple (on verra bien ou ça va) mais au moins il y a une volonté de bouger.

      > « le framework est lui aussi limitant. »

      Oui bien sûr, mais beaucoup moins, car plus bas niveau. Il faut aussi les connaitre pour savoir leurs points forts et points faibles et trouver également celui qui sera le mieux adapté à un projet (en fonction du budget, de la complexité, de la compétence, du temps de développement limite etc.) C’est toujours moins limitant qu’un CMS, et la plupart du temps plus confortable pour un developpeur back end qui aura le smile de ne pas se battre contre son outil (Drupal a failli me tuer… mais même si aujourd’hui je suis à l’aise avec, je ne le choisirais pas systématiquement)

      > « Alors pour faire un projet sur-mesure avec uniquement des services désirés, autant y aller sans framework, non ? »

      J’irai même plus loin.. pourquoi utiliser un langage de programmation et ne pas faire de l’assembleur ? 😀

      Plus sérieusement l’idée est là, pour des raisons évidentes quand même, c’est que c’est plus rapide d’utiliser des outils arrivés à maturité que d’autres ont fait plutôt que de tout refaire (et en moins bien). Un framework est donc un très bon moyen de le faire avec ses packages et son système de dépendance. J’ajouterais qu’un framework est plus bas niveau qu’un CMS mais il est toujours plus haut niveau que le language de programmation sur lequel il se base, donc limité par celui ci.

      Pour l’anecdote, j’avais des années de développement en php et quelques sites en Symfony à mon actif quand j’ai débuté Python il y a quelques années et directement plongé sur le framework Django sans connaitre vraiment le language. Et bien, sans mentir, j’ai été quasiment plus productif sur le premier projet en Django que je ne l’ai été sur mes prods en Symfony alors.

    • Malik

      L’assembleur est un langage de programmation lol

    • guer

      en toute discrétion, pas facile de touché le code wordpress au risque de ce brulé les mains (enfin le site) et un framework c’est un outil de realisation contrairement au cms realisation presque fini

  • Nom

    « Avec mon oeil de designer web et mon savoir-faire en optimisation et SEO, je met au service de mes clients mon expertise web complète »
    Je metS !

  • Juju

    Vous dites : « Les langages les plus utilisés sont PHP, Ruby, Python, SQL ». Vous sous-entendez que ce sont des langages de programmation, alors que vient faire le langage SQL ici ?
    Le SQL est un langage de programmation ?! :O
    Je suis choqué ! lol

    • Bonjour Juju, vous avez tout à fait raison.

      Le SQL n’est pas un langage de programmation ! Sinon ça se saurait 😉
      Je parlais plutôt de langages au sens large que le développeur back-end est amené à manipuler régulièrement.
      Pour être précis, le SQL est un langage de manipulation de données, alors que le PHP, Ruby ou encore Python sont des languages de programmation.

      J’espère que c’est plus clair maintenant !

    • Julien

      Ben techniquement …
      SQL est un langage normalisé mais peut dans le cas d SQL procédural être un vrai langage de programmation (PL/SQL ou TSQL etc.) ou on peut faire des déclaration de variables, des boucles, des ifs-else etc.

    • Melahel

      Bonjour,

      SQL est une norme qui regroupe les langages de gestion des bases de données qui
      sont : le langage de manipulation de données LMD (ou DML en anglais Data Manipulation
      Language), anisi que le LDD (DDL Data Definition Language) et le LCD (DCL
      Data Definition Language).

      (Ces langages sont aussi des normes !)

      cf lien pour la description de ces langages :
      https://fr.wikipedia.org/wiki/Langage_de_manipulation_de_donn%C3%A9es

      cf ce lien pour la norme SQL
      https://fr.wikipedia.org/wiki/Structured_Query_Language

      Par exemple SQL Server (qui est le SGBD de Microsoft) a son langage de manipulation
      de données qui répond à la norme DML.

      Et ce langage n’est plus une norme mais vraiment un langage.

      Bref !
      Lol !

    • Olafèmi Adjinda

      Bonjour le SQL a toute ça place car sans lui le PHP le Ruby et le Python ne serve pas a grand chose pour pas dire rien
      C’est un peu comme le couple HTML/CSS
      Sans Html pas de css
      sans Sql pas de php ou ruby ou phyton

    • Julien

      Servent à rien? Tu imagines pas le nombre de petits scripts que je fais en python, ruby, bash, et même … php (berk) dans d’autres contexte que le développement de site web (ne serait ce que pour les cron) et sans utiliser de base de données.. (d’autant qu’un site web n’a pas forcement besoin de base de données hein..)

      De plus, il y a aussi d’autres alternatives à sql pour la gestion de données, comme le NoSql justement

    • alain

      un site sans base de données ? tu fait des pages statiques comme en 2000 alors désolé.

  • Guest

    Mercii pour cette explication
    Mais que veut dire ces termes & quelle est la difference entre eux :
    « Information design »
    « interaction design »
    « visual design »

    Mercii d’avance

  • ryssen

    Bonjour,

    Pouvez vous me dire les coûts/mois à envisager pour la reprise d’un logiciel Web ? :

    – le logiciel tourne, l’architecture est la à 70%, les fonctionnalités aussi à 70%,
    – mais la présentation du logiciel est trop administrative et a besoin d’être redisignée fortement,
    – l’architecture et les fonctionnalités doivent être redisignées aussi à 30%

    Quelle compétence front / Back ais-je besoin ?

    Merci !

  • $niper

    Merci ! c’est beaucoup clair que sur les autres sites de T.I

  • Maéva Orsi

    Merci pour cet article très intéressant. J’ai tout compris !

  • sam

    Merci, ça m’a permis de voir plus clair!

  • Souha Benzakour

    moi je travaille en front end et je fais du developpement avec du java et je crée aussi les bases de données qui sont complètement differentes de celle de back end alors je n’arrive pas a comprendre votre explication vu qu’elle n’est pas adapté avec ce que je fais actuellement .