Retour au Blog

Mieux comprendre le vocabulaire des développeurs web : guide complet

Mieux comprendre le vocabulaire des développeurs web : guide complet

Vous en avez marre de ne pas comprendre ce que fait votre cousin dans l’IT ? Cet article est fait pour vous. En effet, ce domaine regorge de termes ou formulations que tout le monde ne comprend pas, mais pas de panique, nous vous avons concocté un glossaire du vocabulaire du monde du développement.

Un système d’exploitation 

Ce type de logiciel permet de faire le lien entre les utilisateurs et les composants matériels d'un ordinateur. Il gère les ressources matérielles (comme le processeur, la mémoire, le disque dur, les périphériques d'entrée/sortie) d'un ordinateur et fournit, à travers une interface conviviale, des services aux programmes et aux utilisateurs. C’est en quelque sorte un chef d’orchestre qui mène la danse. 

Il existe plusieurs types de systèmes d’exploitation. Les plus connus et utilisés sont Windows de Microsoft, macOS d’Apple et Linux, qui est un système d’exploitation open-source. Ces derniers sont des systèmes d’exploitation pour ordinateurs. Pour les téléphones, nous connaissons tous Android, ou encore iOS.

Les deux faces du développement

Tout d’abord, il faut faire la différence entre les deux principaux types de développement, concentrés sur les aspects d’une application web : le back-end et le front-end. 

Le développement back-end

On parle ici du développement qui se base sur la logique métier, la gestion des données et les aspects d’un serveur, d’une application web. C’est donc le côté serveur, la face cachée d’un site.  

Ici les fondamentaux sont : 

  • La base de données est conçue et gérée par les développeurs, ainsi que les opérations de lecture et d’écriture de celles-ci.  
  • Les développeurs sont aussi à l’origine des interfaces de programmation d’applications, aussi appelées API. Elles permettent la communication entre le front-end et le back-end, entrainant ainsi l’échange de données et des interactions avec d’autres systèmes.
  • Ils sont également là pour traiter les requêtes des utilisateurs, en effectuant des calculs et des opérations complexes à nos yeux, ils renvoient les réponses appropriées
  • La sécurité du site web est entre leurs mains, cela passe par la gestion de l’authentification des utilisateurs, des sessions et la protection contre les potentielles vulnérabilités.  
  • Les développeurs déploient le projet d’application sur des serveurs, configurent son infrastructure et s’occupent de la gestion des performances

Le développement front-end

Ce type de développement est principalement concentré sur l’interface utilisateur et son expérience sur une application web. Cela revient à la partie exposée d’un site, le côté client. 

En voici les principales missions : 

  • Les développeurs front-end utilisent des langages de programmation spécifiques pour créer et mettre en œuvre les éléments visuels et interactifs d’un projet. 
  • Une fois développée, l’interface utilisateur doit être réactive, rapide et efficace. Pour cela, il faut optimiser le chargement des ressources.
  • Les équipes veillent également à ce que l’application soit accessible à l’ensemble des utilisateurs.
  • Les développeurs effectuent ensuite des tests et des débogages pour s’assurer que l’application s’affiche et fonctionne correctement sur différents supports et plateformes. 

Vous savez maintenant faire la différence entre le développement back-end et front-end. Nous avons rapidement évoqué les termes du côté client et du côté serveur. Voilà les principaux points à retenir. 

Côté client

Nous faisons ici référence à ce qui se passe dans le navigateur web de l’utilisateur. Comprenant tout ce qui touche à la mise en page, les boutons, les formulaires, les images et tout autre élément visible. 

Le développement côté client utilise des langages de programmation comme HTLM (structure), CSS (esthétique) ou encore JavaScript (interactivité). 

Ce côté est connu pour sa rapidité, cependant le code est visible par le client, donc il n’y a pas de réelle confidentialité. 

Côté serveur

Le côté serveur se réfère à toutes les opérations qui se déroulent sur le serveur sur lequel est hébergée l'application web. C'est la partie invisible pour l'utilisateur et qui gère le traitement des données, la logique métier et les interactions avec les bases de données.

Les langages utilisés ici sont JavaScript, Python, Ruby, ou encore PHP, un des plus connus.

Retenez bien que les deux types de développement et les deux côtés travaillent ensemble pour créer et maintenir une application web fonctionnelle et interactive.

Framework, IDE, langage de programmation, qu’est-ce que c’est ? 

Et si, on utilisait une comparaison surprenante pour comprendre plus simplement ces termes. Les pièces d’un garage vous donnent une voiture…

Le framework représente ici un entrepôt de pièces détachées, dans lequel un garage, ici un IDE (environnement de développement intégré), va venir piocher les fonctionnalités (ou pièces) qui l’intéressent. Pour finir, les pièces de métal ou de plastique sont le langage de programmation. 

Un framework

C’est une infrastructure logicielle qui fournit des outils à la base d’un logiciel ou d’une application. Un framework, ou en français une structure logicielle, rassemble des bibliothèques, des composants et des modèles de conception. Ceux-ci permettent aux développeurs de créer plus facilement et efficacement des applications, basées sur une structure préétablie. Notez bien qu’un framework n’est pas une application autonome, mais plutôt une base sur laquelle un développeur peut construire son projet, en utilisant les fonctionnalités proposées et la possibilité d’en ajouter d’autres. Un framework est bien souvent associé à un langage de programmation, par exemple PHP pour notre framework Symfony

Un IDE

De son vrai nom, environnement de développement intégré, cette forme d’application permet aux développeurs de générer du code et de programmer grâce aux nombreuses fonctionnalités proposées. Chaque développeur peut organiser son workflow, alias son espace de travail, grâce à un IDE. Si vous souhaitez plus d’informations sur le sujet, vous pouvez les retrouver dans cet article.

Un langage de programmation 

C’est un ensemble de règles, de syntaxes et de symboles qui permettent la rédaction d’instructions exécutées par l’ordinateur. C’est grâce au langage de programmation que les logiciels sont créés.  

Il existe de nombreux langages de programmation, chacun avec sa propre syntaxe, ses règles et ses fonctionnalités spécifiques. Comme cités précédemment : PHP, JavaScript, HTML, Python ou encore les langages en C. 

Le Code source 

On parle ici de la version lisible par les humains d’un programme informatique. Il s'agit du texte d’un langage de programmation spécifique, écrit par un développeur pour créer une application web. Il nécessite d’être traduit en langage machine pour être compris par l’ordinateur. 

La fusion de branches/ le processus d’assemblage des pièces

Git

Ce système de gestion de versions distribué est amplement utilisé dans le développement web. Grâce à celui-ci, on peut suivre les modifications apportées aux fichiers d'un projet, travailler en collaboration avec d'autres personnes et même gérer efficacement les différentes versions du code.   

Git utilise un système de fichiers distribués, ce qui signifie que chaque personne qui travaille sur un projet dispose d'une copie complète du dépôt Git sur son propre ordinateur. Les modifications sont enregistrées localement dans un "commit".

Lorsque l’on utilise Git, on dit que l'on vient Push des commits sur des branches secondaires. Pour valider une de ces branches, il faut demander la Merge, sous forme d’une Pull request sur Git Hub ou une Merge request sur Git Lab, à l’administrateur ayant les droits du dépôt. On vous explique tous ces termes.

Schéma d'un git
Schéma d'un GIT

Push

C’est l'action d'envoyer vos commits locaux vers un référentiel distant qui met ainsi à jour l'historique et permet aux autres membres de l'équipe de récupérer vos modifications. Cela facilite la collaboration et la synchronisation des travaux sur un projet commun.

Les commits

Un “commit” représente l’action d’enregistrer les modifications apportées sur un ensemble de fichiers sources, appartenant à un système de contrôle de version. Il permet ainsi de conserver un historique des modifications et de faciliter la collaboration entre les développeurs.

Merge

Merge, ou “fusionner” en français, est un terme régulièrement utilisé en relation avec les systèmes de contrôle de versions, comme Git. Il fait référence à la combinaison de deux branches distinctes (la branche principale et la branche de développement) d’un dépôt Git en une seule. Les branches sont des copies distinctes du code source, qui aident les développeurs à travailler sur des fonctionnalités ou bugs, sans affecter la version principale du projet, juste en créant la nouvelle version du code. 

Les tests

Les tests sont essentiels dans le domaine du développement web, ils font référence aux processus de vérification et de validation du bon fonctionnement d’un projet. 

Il existe plusieurs types de tests, en voici les principaux :

  • Les tests unitaires : on se concentre sur la vérification du bon fonctionnement des unités individuelles de code, comme les fonctions, les méthodes ou les classes. En général, ce sont les développeurs eux-mêmes qui écrivent ce genre de test, pour s’assurer que chaque composant fonctionne correctement de manière isolée. 
  • Les tests d'intégration vérifient la façon dont les différents composants d'un système interagissent les uns avec les autres. Ces tests assurent le fonctionnement d’ensemble des modules et de l’échange des données. 
  • Les tests fonctionnels : C’est l’évaluation du comportement d’une application web par rapport aux spécifications fonctionnelles. Ils s’assurent qu’aucune erreur ne soit présente.
  • Les tests de sécurité permettent de vérifier la résistance d'une application face aux attaques et aux vulnérabilités de sécurité. Ils identifient les failles potentielles et mettent en évidence les risques et les points faibles.

À noter : les tests peuvent être réalisés manuellement par les développeurs à l’aide d’outils fournis dans un framework. 

La base de données

Si l’on simplifie la chose, c’est un grand excel rempli de termes anglais. Plus concrètement, une base de données, c'est un système organisé et structuré permettant de stocker, gérer et récupérer des​​ données de manière efficace et cohérente. Elle joue un rôle essentiel dans tous projets mis en place. Elle offre la possibilité de stocker et de gérer de grandes quantités de données de manière structurée.

La mise en cache

Ce système permet de stocker temporairement des données fréquemment utilisées dans une mémoire rapide, appelée cache. Cela permet d’accélérer les opérations ultérieures d’accès à ces données. La mise en cache permet d’être plus rapide dans la récupération des données, plutôt que d’avoir à aller les chercher dans une source de données plus lente. La mise en cache améliore les performances et la réactivité du système en réduisant la charge de la source de données.

La mise en production

Le terme production se rapporte à l’environnement dans lequel une application est mise à disposition des utilisateurs finaux. En d’autres termes, c’est le serveur public. Cette phase de production est la dernière étape du cycle de développement, elle représente l'état dans lequel l'application est prête à l’emploi dans un environnement réel. Cette étape regroupe donc le travail de l’équipe de développement et de l’équipe d’exploitation, qui est chargée de la maintenir à niveau, on appelle ça le DevOps, combinaison des mots Développement et Opération.  

______

Le petit + technique 

Docker

Docker est un outil populaire dans le développement web. C’est une plate-forme de virtualisation de conteneurs open-source. Elle permet aux développeurs d'emballer une application et ses dépendances dans un conteneur isolé, portable et autosuffisant qui peut être exécuté sur n'importe quel système d'exploitation. 

Qu’est-ce qu’un conteneur ? 

C’est une unité logicielle légère qui vient encapsuler une application et tous les composants nécessaires d’une application. Il est mis en place de manière isolée sur un système d’exploitation hôte partagé. Cela fait de lui, une unité portable et simple à déployer. 

Pourquoi utilise-t-on Docker ? 

Il simplifie le déploiement et la gestion des sites web, tout en permettant la création de conteneurs autonomes qui peuvent être exécutés sur n’importe quel système d’exploitation compatible.

Comment fonctionne Docker ?

Docker utilise une technologie appelée “la virtualisation”. Pas de panique, on vous explique. Cela veut dire qu’il repose sur les fonctionnalités du noyau du système d’exploitation utilisé pour isoler les conteneurs les uns des autres et du serveur hôte. Chaque conteneur utilise des ressources partagées de manière efficace, ce qui lui permet d'exécuter plusieurs conteneurs sur un seul hôte sans surcharge significative.

Quels en sont les avantages des conteneurs Docker ? 

  • L’isolation : Étant isolés les uns des autres, cela permet d’éviter les conflits entre les applications web et les dépendances.
  • La portabilité : Les conteneurs peuvent être exécutés sur différents systèmes d’exploitation ou environnements sans nécessiter de modifications supplémentaires.
  • La légèreté : En partageant le même noyau d’exploitation et les ressources de l’hôte, cela les rend légers et rapides à démarrer ou arrêter. 
  • La scabilité : Docker facilite le déploiement et la gestion d'applications à grande échelle, en permettant d'équilibrer facilement les conteneurs.

Docker est donc un outil puissant pour créer, déployer et exécuter des applications web dans des conteneurs isolés. 

Une migration

Si l’on prend pour exemple notre framework, Symfony. Celui-ci effectue des mises à jour majeures tous les deux ans, entre-temps, il en existe des mineures et des corrections. Une migration, c'est la transition d’une version à une autre pour un projet. L’idéal étant de limiter les migrations trop importantes pour ne pas avoir de projet obsolète. 

“Faire un fork”

Cette action, bien connue des dev, aide notamment à la contribution à des projets open source.

Un fork est une copie d’un dépôt de code source existant (en général un projet logiciel hébergé sur GitHub ou ses camarades de gestion de versions). Celui-ci crée une copie complète du projet de l’espace de travail utilisé, ce qui permet de travailler dessus indépendamment. 

On utilise cette technique lorsqu’on veut contribuer à un projet existant, sans avoir de droits d’accès en écriture, pour y apporter des modifications directes. On vient créer une branche distincte sur laquelle on apporte nos modifications pour les partager ensuite. 

Pour la réalisation de vos projets digitaux 

La doc

Même les meilleurs ont besoin de pouvoir vérifier dans la documentation officielle, des informations sur lesquelles ils peuvent avoir des doutes. Elle est donc essentielle dans le monde du développement web. Les blogs des différents frameworks ou langages de programmation sont remplis de réponses aux questions de chacun. 

Mème portant sur le fait que les docs facilitent grandement le travail des développeurs
Mème provenant de lesjoiesducode.fr

Les méthodes agiles

Déclinables en de nombreuses versions ou applications, ces méthodes permettent une gestion du développement des projets. Elles fonctionnent sur la base de l’itératif et de l’incrémental. Les méthodes agiles établissent un ensemble de tâches et d’étapes à effectuer, qu’elles classent selon leur degré de priorité. Une étape est nommée “ticket” et il n’est possible de passer au prochain ticket qu’en ayant fait valider le précédent par le client. Ces méthodes agiles sont reconnues pour la communication qu’elles proposent.

Nous espérons vous avoir aidé à mieux comprendre le vocabulaire utilisé par les développeurs. Il est possible que vous entendiez ces termes lors de discussions avec eux ou lorsque vous faites appel aux services d’une agence web comme Efficience IT !

Contactez-nous !
Je veux en savoir plus !