Carrière & Métier

Les bases du développement web

23
July 2024
François Fournival

Bienvenue dans cette nouvelle série d’articles Vos premiers pas dans la tech.

L’objectif ? Vous faire découvrir l’univers passionnant de l’IT, des métiers de la tech et du développement web en start-up.

Ce premier article sera dédié aux bases du développement web et à la manière dont les logiciels, les applications mobiles et les sites web que vous utilisez quotidiennement sont conçus par les équipes de développeurs.

Au menu du jour :

  • Le fonctionnement d’internet.
  • Différencier un logiciel d’une application.
  • Une initiation aux langages de programmation et à leur Framework.
  • Le fonctionnement d’une application (front-end / back-end).

Si vous êtes à l’aise avec ces premiers principes, on vous invite à passer à l’article suivant de cette série qui met en lumière les différents métiers de la tech en Start-up.

Comment fonctionne le web ?

Pour utiliser une application ou un logiciel, il faut trois éléments : un hardware (PC, tablette, smartphone), une connexion internet et un serveur.

Les serveurs sont des infrastructures à distance qui stockent toutes les informations sur les sites ou les applications, comme de gigantesques banques de données.

Lorsque vous utilisez un moteur de recherche comme Firefox et que vous allez sur un site web quelconque, le moteur de recherche (qu’on appelle le client) va réaliser une requête HTTP auprès d’un serveur informatique. Une requête HTTP est une instruction qui permet au serveur de comprendre les informations demandées, et de vous les renvoyer. Les moteurs de recherches communiquent avec les serveurs via des réseaux de communications : et c’est ça internet !

Certains logiciels installés sur les ordinateurs comme votre Antivirus n’ont pas besoin de serveur pour être exécutés du fait qu’ils se trouvent déjà sur votre machine.

Logiciel, application, site web ?

Les applications sont des programmes informatiques conçus pour effectuer des tâches spécifiques sur vos PC, tablettes et smartphones. Deezer, Instagram, Google Mail et Shazam sont des applications. Leur objectif est de répondre à un besoin utilisateur précis tout en favorisant une expérience qui soit la plus positive possible via des interfaces utilisateurs élégantes  (ce que vous voyez à l’écran) et ergonomiques (pratique à utiliser).

Les solutions plus complexes utilisées par les entreprises (qu’on appelle aussi “progiciels”) comme les ERP, les CRM ou les SIRH sont des logiciels, mais il n’est pas totalement faux de dire qu’il s’agit aussi d’applications.

En fait, logiciel est un terme générique. Toutes les applications que nous venons de citer sont des logiciels. Mais les logiciels sont également une catégorie de programmes informatiques plus complexes encore que vous n’utilisez pas directement, comme un Antivirus qui vous protège des menaces extérieures. Enfin, les systèmes d’exploitations comme Windows, Max et Linux sont une autre catégorie de logiciels qui permettent à votre ordinateur de fonctionner.

En résumé, les applications sont des logiciels qui vous permettent d’effectuer une tâche et il existe d’autres catégories de logiciels plus complexes encore qui permettent aux ordinateurs et autres appareils de fonctionner de manière autonome.

Enfin, les sites web, “sont en quelque sorte” des applications, qui vous permettent d’avoir accès à différentes informations ou réaliser diverses actions (comme des achats en ligne sur un site e-commerce).

Comment une application est-elle développée ?

Oui, “développer” signifie créer et construire une application. Gardons le terme de construction pour les maisons, nous ne sommes pas dans le BTP mais dans l’IT.

On peut aussi dire qu’on “programme une application ou un logiciel”. C’est d’ailleurs pour cette raison que les personnes en charge de développer les logiciels s’appellent les développeurs ou les programmeurs.

Alors comment fonctionne la programmation informatique ?

Une application est construite à partir d’un code informatique écrit par les développeurs. Ce code est ni plus ni moins l’ADN du logiciel lui permettant d’avoir des pages, du texte, de la couleur et des fonctionnalités pour réaliser des tâches précises.

Le code qui donne vie aux logiciels est écrit à partir de langages de programmation. Comme le Français ou l’Espagnol, il existe de très nombreux langages informatiques et les développeurs ne les maîtrisent pas tous, la plupart du temps, ils vont se spécialiser dans une technologie de leur choix. Nous verrons par la suite que chaque langage à ses propres avantages et qu’ils permettent de répondre à différents objectifs de développement.

Les langages de programmation

Si les développeurs doivent utiliser des langages informatiques, c’est pour communiquer avec les machines.

Un ordinateur ne comprend qu’un seul langage, le binaire, qu’on nomme le Langage machine.

L’alphabet binaire contient deux caractères : 1 et 0. Ces suites de 1 et de 0 sont donc le seul moyen de communiquer avec un ordinateur. C’est donc un langage qui semble très simple, mais qui en réalité, est imbuvable pour les humains.

Pour vous donner un exemple, voici comment dire “Bonjour” en langage binaire : 01100010 01101111 01101110 01101010 01101111 01110101 01110010

Je vous laisse imaginer la complexité pour développer une application entière à partir du binaire.

C’est pour faciliter la communication avec les machines que les langages de programmation ont été inventés. Ce sont des langages avec une syntaxe beaucoup moins abstraite et proche de la langue anglaise. Les développeurs utilisent ces langages pour écrire les programmes informatiques. Les programmes sont ensuite traduits par un programme spécial, l’interpréteur, qui va se charge de faire la traduction pour que l’ordinateur comprenne les instructions du développeur.

Les syntaxes de ces langages sont construites à partir de balises et de fonctions permettant d’indiquer à l’ordinateur la nature des éléments (comme du texte, une image, une vidéo) et des tâches à effectuer (demander un mot de passe, ajouter un article au panier).


Syntaxe d'un morceau de code HTML.

Maintenant que vous avez compris comment les logiciels sont créés, voyons comment nous les utilisons.

La différence entre le front et le back

Toutes les applications que nous utilisons possèdent un back et un front.

Le front (ou front-end), c’est tout ce qui se passe côté client **et moteur de recherche (client side), c'est-à-dire tout ce que vous voyez à l’écran lorsque vous utilisez un site web ou une application via un moteur de recherche.

L’interface utilisateur, les couleurs, textes, vidéos, images, boutons d’actions et parcours clients sont des éléments du front.

Et vous avez le back (ou back-end), ****autrement dit tout ce qui se passe côté serveur *(ou server side), *la partie cachée de l’iceberg qui est opaque à vos yeux lorsque vous utilisez n’importe quel service, mais qui pourtant permet son fonctionnement.

Cela concerne les réseaux, serveurs, la sécurité ou encore la gestion des bases de données. Quand vous entrez vos coordonnées sur un site de vente, vos données et celles des milliers d’autres utilisateurs du site sont traitées et stockées dans un système de gestion de base de données. C’est un élément du back.

Côté métiers, on parle alors de développeur front ou de développeur back. Parfois, vous avez des profils “fullstack” qui maîtrisent ces deux aspects du développement logiciels et peuvent donc intervenir aussi bien côté front que back.

Pour répondre aux besoins du front et du back, il existe de nombreux langages propres à chaque côté.

HTML, CSS, JavaScript (JS) sont des langages front-end.

Python, PHP, Java, C#, .net, C++ et (encore lui) JavaScript sont des langages du back.

Oui, le JavaScript est un langage aussi bien utilisé en front qu’en back. Mais il possède des framework distincts pour ces usages (le React pour le front et le Node pour la partie back par exemple, et il en existe d’autres).

Il existe d’autres langages qui sont spécifiques à des besoins des entreprises et à des objectifs de développement.

Le C++ est très souvent utilisé pour le développement de jeux vidéo. Salesforce (qui est un CRM et une technologie) ****est un langage de programmation permettant de créer processus complexes pour les entreprises sur l’outil CRM Salesforce. Enfin, SQL est un langage informatique permettant d’exploiter les bases de données des entreprises ou des sites web.

Framework et bibliothèques

Pour terminer ce premier chapitre d’initiation au développement web, nous allons aborder le sujet des Frameworks et des Bibliothèques de composantes.

Développer des programmes (donc écrire du code) prend du temps, beaucoup de temps. Les fonctionnalités des sites web ou des applications demandent l’écriture de milliers de lignes de code très complexe.

Pour vous en rendre compte, allez sur n’importe quel site web. N’importe où sur la page, faite un clic droit puis cliquer sur “Afficher le code source de la page”. Ou Ctrl+U. Une nouvelle fenêtre s’ouvrir et affichera le code source du site, c'est-à-dire le code écrit par les développeurs pour créer ce site.

Pour accélérer le développement d’applications et faire gagner du temps aux développeurs, chaque langage informatique possède ses propres Framework et bibliothèque (ou libraires).

Il faut imaginer ça comme des répertoires ou des bibliothèques virtuelles qui contiennent des morceaux de codes préconstruits et prêts à êtres utilisés  par d’autres développeurs.

Nous n’entrerons pas dans le détail aujourd’hui, mais pour différencier les deux, une bibliothèque est un ensemble de composantes disponible pour l’usage des développeurs. Un Framework est une gigantesque bibliothèque contenant plusieurs bibliothèques et un ensemble de consignes pour les développeurs afin qu’ils suivent les “conventions” du Framework afin de produire un code propre.

Pour vous familiariser avec quelques termes techniques, React est le Framework du JavaScript pour la partie front, Node est son Framework pour le back.

Django est l’un des Framework de Python. Chaque langage de programmation possède ses propres Frameworks et bibliothèques qui ont souvent été créés par d’autres développeurs par le passé et qui continuent d’êtres alimentés par les développeurs d’aujourd’hui (on parle alors d’un Framework Open Source).

Ce premier article touche à sa fin. On espère que celui-ci vous aura permis de vous familiariser avec l’univers du web et du développement informatique.

Pour aller plus loin, vous pouvez continuer votre lecture avec l’article suivant de cette série sur les métiers de la tech et du web en start-up.

François Fournival
Co-Founder & Tech Recruiter
L'article t'a plu? Partage-le sans modération.