Développeur Back-end, création d’une API

Le Développeur Back-end, cet homme de l’ombre aux supers pouvoirs qui connectent les API pour enrichir l’expérience de vos utilisateurs

Peu d’entre nous nous demandons comment fonctionne l’envers du décors d’un site internet ou d’une application. Le développeur Back-End, lui, le sait. Derrière son écran noir et ses lignes de code, il définit le fonctionnement du site internet, les conditions d’échange entre l’utilisateur et la base de données et inter-connect les API pour booster l’usage du site web.

Quel est la différence entre un développeur back-end et un développeur front-end ?

Développeur front-end

Un développeur front-end s’attache à l’ergonomie du site internet et à l’intégration de son design. Il doit produire un code offrant une interface claire, simple et universelle pour les internautes.

Développeur back-end

Le développeur back-end ne s’occupe que des fonctionnalités d’un site web ou d’une application. C’est au travers des aspects techniques et fonctionnels que ce travailleur de l’ombre s’exprime. Il travaille sur le back-office du site web ou de l’application, c’est donc grâce à lui que le contenu peut-être injecter dans site internet. Il peut concevoir un site web et en réaliser l’architecture technique ou passer par un CMS ou framework existant et en adapter les fonctionnalités pour s’adapter au cahier des charges techniques.

Développeur full-stack

A la croisé de ces deux mondes, se trouve le développeur full-stack. Le développeur full-stack peut quant à lui intervenir aussi sur le code lié au design et à l’expérience utilisateur que sur le code lié aux fonctionnalités et aux parties techniques du site internet et de l’application.

Qu’est-ce qu’un développeur back-end ?

Lorsque le développeur back-end conçois un site internet en partant de zéro, il doit mesurer les forces et les faiblesses des choix techniques qu’il réalise. La difficulté étant de trouver le juste mileu entre performance technique et stabilité de la solution choisie pour répondre au cahier des charges fonctionnel réalisé par le chef de projet. C’est donc en prenant en compte le délai et les ressources matérielles, humaines et budgétaires dont il dispose qu’il réalisera les choix techniques correspondant au projet.

En véritable “problem solver”, le développeur back-end est le garant des solutions techniques qu’il apporte et doit être source de solutions aux problématiques qui lui sont rapportées. Il doit aussi savoir dire non aux exigences déraisonnables de ses supérieurs ou du client, pour garantir à l’utilisateur final une plateforme sûre et stable. Plus, sa participation sera en amont du projet plus le chef de projet ou product manager s’assure de la faisabilité des fonctionnalités qu’il propose à son client et de son coût (humain, financier, horaire). C’est donc la force de proposition du développeur back-end qui permettra au projet et son équipe d’avancer en orientant et argumentant sur ses contraintes techniques.

Le développeur back-end peut aussi être amené à s’adapter à une solution déjà existante de type Framework ou CMS (Content Management System). Ce choix technique est principalement réalisé pour gagner du temps de développement en partant de fonctionnalités pré-conçus, voir parfois pré-existante chez le client. Pour éviter le coût lié à la refonte d’un site, le développeur back-end doit être capable d’analyser la solution technique existante et d’apporter des solutions adaptées (création de modules, d’options, …).

Qu’est ce qu’une API ?

API est l’acronyme de Application Programming Interface. Le mot qu’il faut retenir est “interface”, c’est la notion que nous connaissons le mieux au quotidien. Par exemple, le clavier d’une calculatrice, qui sert d’interface, vous permet de réaliser des opérations en interagissant avec elle au travers des touches que vous frappez. Le clavier vous sert ici à communiquer avec le programme de la calculatrice sans en connaitre le fonctionnement. Pour réaliser un calcul vous devez respecter l’interface et l’usage qui en a été défini lors de sa conception.

Une API est donc une interface spécifique aux sites web et applications pour échanger des données. Ces échanges sont réalisés au travers de méthodes programmées par un développeur back-end qui défini les données envoyées ou reçus et leur droit d’accès. Les grands du web comme Facebook, Twitter, Youtube, Linkedin possèdent leur propre API. Les API permettent à d’autres applications et site internet de s’y connecter et d’interagir avec leurs données. Chaque API à ses spécifités et sa réglementation quant à l’accès des données échangées. Les API représentent une opportunité technique pour élargir la gamme de service et enrichir l’expérience utilisateur d’un site web ou d’une application. Facebook login, lecteur de feed Twitter, mur instagram, module de paiement paypal… Vous l’avez compris vous avez déjà utilisé une API sans savoir que s’en était une! Si certaine fonctionnalité ne peuvent qu’être apportée par une application tièrce, qu’est ce qui empêche un développeur back-end de programmer son propre module de paiement? La réponse est simple, son rôle, dans l’optimisation technique du site et de gestionnaire des ressources, le pousse à utiliser celles qui sont les moins couteuses en temps et en hommes lors d’un développement interne.

On comprend rapidement que les API sont des super pouvoirs pour les développeurs back-end. Ils peuvent interconnecter les API pour programmer à la vitesse de l’éclaire les fonctionnalités nécessaires à l’amélioration de l’expérience utilisateur et leur délivrer plus de services. L’usage des API est à la porté de tout développeur qui prend le temps de lire minutieusement la documentation de chaque API qu’il utilise, pour en respecter les usages définis par leurs développeurs.

Quels sont les missions du développeur back-end ?

Rattahé à un chef de projet technique, un product owner ou un lead développeur, le développeur back-end est responsable de l’application web en général. Le développeur back-end garanti la mise en place, la configuration, le développement et de la maintenance du serveur, de la base de données et des API.

Dans cadre de développement agile, le développeur back-end analyse les besoins techniques du projet qui lui est transmis. Il préconise des solutions techniques pour répondre aux problématiques qui lui sont exposés. Il développe les fonctionnalités techniques du site web et leurs évolutions. Il validera avec son équipe des fonctionnalités développées.

Le développeur Back-end aura aussi la responsabilité de former le client à la livraison du site internet. Selon le contrat de maintenance qui est établi avec le client, il réalisera le support technique tout au long de la vie du site et corrigera les bugs remontés.

Qui est le développeur back-end ?

Le développeur back-end est à la fois un technicien et un gestionnaire. Il est en veille permanent pour maximiser l’impact de ses choix techniques afin de minimiser le délais de réalisation des projets dont il est en charge.

Il maitrise l’un ou plusieurs de ces langages de programmation:

Et est capable de s’adapter aux :

Vous voulez en savoir plus sur mes expertises ?