Lexique

Tags :
  • MON
  • 2024-2025
  • temps 1
  • vert
  • débutant
  • lexique
Auteurs :
  • Valentin Billa

Dictionnaire `vert` vers français

Concepts

Web

Front-end

La partie d'un site web ou d'une application que l'utilisateur voit et avec laquelle il interagit. Elle est construite avec des outils comme HTML (pour la structure), CSS (pour le design) et JavaScript (pour le comportement).

Back-end

La partie d'un site web ou d'une application que les utilisateurs ne voient pas. Elle gère les données, la logique et la communication avec les bases de données et les serveurs. Elle communique souvent via des APIs.

Site Statique

Un site statique est un type de site web dont le contenu est pré-référencé et qui ne change pas en fonction des interactions de l'utilisateur. Les pages de ce type de site sont généralement constituées de fichiers HTML, CSS et JavaScript qui sont servis directement par un serveur web.

APIs (Interfaces de Programmation d'Applications)

Une API (Interface de Programmation d'Applications) est un ensemble de règles et de protocoles qui permet à différents logiciels de communiquer entre eux. Elle définit comment les demandes et les réponses sont formatées, facilitant ainsi l'échange de données entre des applications ou des services.

HTTP et HTTPS

HTTP (HyperText Transfer Protocol) est le protocole utilisé pour transférer des données sur le web. Il permet aux navigateurs de récupérer des pages web à partir de serveurs. HTTPS (HTTP Secure) est une version sécurisée de HTTP qui utilise le chiffrement pour protéger les données échangées, garantissant ainsi la confidentialité et l'intégrité des informations.

REST

REST (Representational State Transfer) est un style d'architecture pour la création d'APIs qui utilisent les méthodes HTTP pour interagir avec des ressources. Les APIs REST sont largement adoptées en raison de leur simplicité et de leur capacité à fonctionner sur n'importe quel client capable de faire des requêtes HTTP. Elles sont généralement stateless, ce qui signifie que chaque demande du client contient toutes les informations nécessaires pour traiter cette demande.

SOAP

SOAP (Simple Object Access Protocol) est un protocole ancien utilisé pour échanger des informations structurées entre applications. Il repose sur XML pour le format des messages et est souvent considéré comme plus complexe et lourd que REST. SOAP est encore utilisé dans certains environnements d'entreprise, mais il a été largement remplacé par des architectures plus légères comme REST.

gRPC

gRPC est un framework open-source de communication entre services qui utilise HTTP/2 pour le transport et Protocol Buffers pour la sérialisation des données. Conçu par Google, il est particulièrement adapté aux microservices en raison de sa performance et de sa capacité à gérer des connexions bidirectionnelles. gRPC est considéré comme une avancée par rapport à REST et SOAP, offrant des fonctionnalités modernes pour les applications distribuées. Néanmoins, il induit une complexité considérable.

Bases de Données

Les bases de données sont des systèmes organisés qui permettent de stocker, gérer et récupérer des données. Elles sont essentielles pour de nombreuses applications, notamment les sites web, les applications mobiles et les logiciels d'entreprise. Les bases de données peuvent être classées en deux grandes catégories : SQL et No-SQL.

SQL (Structured Query Language)

SQL est un langage de programmation utilisé pour gérer et manipuler des bases de données relationnelles. Les bases de données SQL sont organisées en tables, avec des lignes et des colonnes, et elles permettent de définir des relations entre les données.

No-SQL (Not Only SQL)

Les bases de données No-SQL sont conçues pour stocker et récupérer des données non structurées ou semi-structurées. Elles ne nécessitent pas de schéma fixe, ce qui les rend flexibles pour des types de données variés. Généralement les bases de données No-SQL sont bien plus spécialisées que les BDD SQL.

Illustration de la multitude de bases de données existantes

Serveurs

Un serveur est un ordinateur ou un système qui fournit des ressources, des données ou des services à d'autres ordinateurs, appelés clients, sur un réseau. Les serveurs sont essentiels pour héberger des sites web, des applications, des bases de données et d'autres services en ligne.

L'hébergement de serveurs peut se faire de deux manières principales : sur site (On-Premise) ou dans le Cloud.

On-Premise

L'hébergement On-Premise signifie que les serveurs et les infrastructures sont installés et gérés sur le site de l'entreprise. Cela permet un contrôle total sur le matériel et les logiciels, mais nécessite également des investissements initiaux importants et des coûts d'entretien continus.

Avantages:

Mainframes :
Ce sont de grands systèmes informatiques conçus pour gérer des volumes élevés de données et d'applications critiques. Ils sont principalement utilisés par des grandes entreprises et des organisations gouvernementales pour le traitement de transactions massives, la gestion de bases de données complexes et l'exécution d'applications essentielles. Basiquement, c'est un gros ordinateur, un très gros ordinateur

Mainframe IBM

Cloud

L'hébergement Cloud utilise des serveurs distants situés dans des centres de données gérés par des fournisseurs de services (comme AWS (Amazon Web Services), Google Cloud, ou Microsoft Azure). Les ressources sont accessibles via Internet, ce qui permet une scalabilité facile, un déploiement rapide et une facturation à l'utilisation.

Avantages:

Langages

Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.

Wikipédia - Langage_de_programmation

Distinctions

Haut Niveau / Bas Niveau

Compilé / Interprété

Bare Metal / Machine Virtuelle / Conteneur

Langages de programmation

Attribution

Les images utilisées pour les icônes des languages de programmation sont soit issues directement du site du language (disponible en lien directement dans le titre) soit issues de Flaticon et crées par Freepik

C / C++

C est un langage de programmation compilé, de bas niveau, utilisé pour les systèmes d'exploitation, les systèmes embarqués et les logiciels nécessitant des performances critiques. C++ est une extension de C, ajoutant la programmation orientée objet.

Origine :
C a été développé par Dennis Ritchie chez Bell Labs en 1972. C++ a été développé par Bjarne Stroustrup en 1985 pour ajouter des fonctionnalités orientées objet à C.

Frameworks populaires:

Utilisation réelle :
Le kernel Linux est écrit entre autres en C. Le navigateur Chrome et une grande partie de Windows sont écrits en C++.

C, C++, JavaScript, HTML, CSS et bien d'autres parties fondatrices d'internet et de l'informatique n'existent officiellement que sous la forme de spécifications, des looongs documents qui disent précisément et exactement ce que le langage doit faire ou pas. Ces spécifications sont ensuite implémentées par de nombreux acteurs tiers (qui sont d'ailleurs généralement impliqués dans la rédaction et la mise à jour des specs).

Par exemple, en CSS chaque navigateur (en gros) se charge de coder la façon dont les pages web sont affichées, en respectant au mieux la spécification. Certaines features ne sont disponibles que sur certaines implémentations eg. calc-size

C# (.NET)

C# est un langage de programmation compilé et orienté objet, principalement utilisé pour le développement d'applications Windows, mais aussi pour les applications web et les jeux vidéo.

Origine :
Développé par Microsoft en 2000 dans le cadre de son initiative .NET, C# est conçu pour être un langage simple et moderne pour les développeurs.

Frameworks populaires:

Utilisation réelle :
Visual Studio Code, un éditeur de code populaire, a été développé en C# à l'aide du framework Electron.

Bash

Bash (Bourne Again Shell) est un shell Unix utilisé pour exécuter des commandes et écrire des scripts d'automatisation. Il est couramment utilisé pour les tâches d'administration système dans les environnements Linux et Unix.

Origine :
Bash, a été développé en 1989 par Brian Fox dans le cadre du projet GNU.

Frameworks populaires :
Bash n'a pas de framework dédié, mais il est utilisé pour l'automatisation directe des tâches sur les systèmes Unix.

Utilisation réelle :
Les administrateurs système et les ingénieurs DevOps utilisent Bash pour automatiser la gestion des serveurs et le déploiement de logiciels.

Go

Go est un langage compilé, statiquement typé, conçu pour la simplicité, la concurrence et la scalabilité. Il est souvent utilisé pour les systèmes distribués et les applications qui nécessitent une haute performance.

Origine :
Go a été développé par des ingénieurs de Google en 2007 pour créer des logiciels efficaces et évolutifs.

Frameworks populaires:

Utilisation réelle :
Docker, la plateforme populaire de conteneurisation, est écrit en Go. GoAuth2 est aussi un exemple.

La petite créature que j'ai utilisée est en réalité la mascotte de Go, voici le vrai logo

Haskell

Haskell est un langage de programmation purement fonctionnel, compilé, et à typage statique. Il est connu pour son utilisation de fonctions immuables, ce qui signifie que les variables ne peuvent pas être modifiées une fois assignées. Haskell favorise l'écriture de programmes robustes, corrects et concis grâce à son système de types avancé et ses concepts comme les monades. Il est souvent utilisé dans les domaines nécessitant une grande fiabilité et rigueur, tels que les systèmes financiers, la vérification formelle et la recherche académique.

Origine :
Haskell a été standardisé en 1990 par un comité international, nommé d'après le logicien Haskell Curry. Il a été conçu pour être un langage fonctionnel pur, permettant aux chercheurs et développeurs de mieux explorer les paradigmes de la programmation fonctionnelle.

Frameworks populaires:

Utilisation réelle :
Haskell est largement utilisé dans le secteur financier pour développer des systèmes de trading automatisé et des algorithmes à haute fréquence. Par exemple, certaines entreprises de finance comme Standard Chartered utilisent Haskell pour garantir la fiabilité et la sécurité des systèmes de gestion des risques. Son système de types permet de réduire les erreurs critiques dans les applications sensibles.

Java

Java est un langage de programmation à typage statique, orienté objet, et compilé. Connu pour sa portabilité grâce à la machine virtuelle Java (JVM), il permet d’écrire une fois du code et de l’exécuter sur n'importe quel système d'exploitation. Java est un langage de haut niveau, conçu pour être simple, robuste, sécurisé, et indépendant des plateformes, ce qui en fait un des langages les plus utilisés au monde. Il est particulièrement prisé pour les applications d’entreprise, les systèmes distribués, et les applications Android.

Origine :
Java a été développé par Sun Microsystems (aujourd'hui détenu par Oracle) et publié en 1995. Il a été conçu pour être un langage "write once, run anywhere" (WORA), ce qui signifie que le code Java peut fonctionner sur toute plateforme dotée de la JVM.

Frameworks populaires:

Utilisation réelle :
Java est largement utilisé pour développer des systèmes backend robustes dans des entreprises comme Uber, Amazon, et eBay. Il est également essentiel dans le développement d’applications Android (voir ci-dessous).

Kotlin

Kotlin est un langage de programmation moderne, concis, et polyvalent qui fonctionne également sur la JVM, tout en étant compatible avec Java. Kotlin est un langage à typage statique et un des principaux langages utilisés pour le développement Android. Il offre de nombreuses améliorations par rapport à Java, telles que la null safety, les lambdas, et une syntaxe plus compacte, ce qui le rend plus agréable à utiliser pour les développeurs tout en réduisant les risques d'erreurs.

Origine :
Kotlin a été créé par JetBrains en 2011, une société de logiciels connue pour ses IDE (comme IntelliJ IDEA). Il a été conçu pour améliorer l’expérience de développement sur la JVM et a été officiellement adopté par Google en 2017 comme langage principal pour le développement Android.

Frameworks populaires:

Utilisation réelle :
Kotlin est aujourd’hui le langage recommandé pour le développement d’applications Android, ce qui a conduit des entreprises comme Pinterest et Trello à adopter Kotlin pour leurs applications mobiles. Son intégration native avec les outils Android et sa compatibilité avec Java en font un choix populaire pour les nouveaux projets Android.

JavaScript

JavaScript est le langage incontournable du web et est le seul langage qui permet de créer des interactions directement dans le navigateur. Il est interprété, ce qui signifie qu'il est exécuté directement par le moteur JavaScript d'un navigateur sans nécessiter de compilation préalable. Cela en fait l’un des langages de développement front-end les plus utilisés.

Origine :
Développé par Brendan Eich en 1995 chez Netscape, JavaScript est conçu pour ajouter de l'interactivité aux pages web. Contrairement à ce que suggère son nom, il n'est pas lié au langage Java.

Frameworks populaires:

Utilisation réelle :
JavaScript est utilisé par presque tous les sites web pour rendre les pages interactives. Par exemple, des plateformes comme Netflix et YouTube utilisent JavaScript pour gérer les lecteurs vidéo en ligne, la navigation fluide et l’affichage dynamique des données. De plus, les réseaux sociaux tels que Twitter et Facebook reposent fortement sur JavaScript pour offrir des expériences utilisateur réactives et interactives.

JavaScript en tant que langage serveur

Bien que JavaScript ait historiquement été limité aux navigateurs web, il est aujourd’hui aussi couramment utilisé côté serveur grâce à Node.js. Node.js a été développé en 2009 et permet d'exécuter du code JavaScript côté serveur. Cela a révolutionné le développement web en permettant aux développeurs d'utiliser un seul langage pour gérer à la fois le front-end et le back-end d'une application.

Utilisation réelle :
Node.js est utilisé par des entreprises comme LinkedIn, Uber et PayPal pour gérer les opérations côté serveur.

TypeScript

TypeScript est un sur-ensemble de JavaScript qui ajoute un typage statique, permettant de détecter les erreurs lors de la compilation. Cela améliore la robustesse et la maintenabilité des projets, surtout à grande échelle.

Origine :
Développé par Microsoft, TypeScript a été lancé en 2012 pour aider à structurer et typer le code JavaScript, rendant le développement plus sécurisé.

Utilisation réelle :
TypeScript est couramment utilisé dans des entreprises comme Slack, Airbnb, et Microsoft.

Lua

Lua est un langage de script léger et rapide, souvent utilisé comme langage embarqué dans d'autres applications, notamment dans le développement de jeux vidéo et de logiciels.

Origine :
Lua a été développé en 1993 par une équipe de chercheurs brésiliens. Il est conçu pour être facile à intégrer dans d'autres systèmes, ce qui en fait un langage parfait pour les environnements embarqués.

Frameworks populaires:

Utilisation réelle :
Lua est le langage de script utilisé dans Roblox, une des plus grandes plateformes de jeux en ligne.

Ocaml

OCaml est un langage de programmation fonctionnel, impératif et orienté objet, connu pour sa rapidité et sa polyvalence. Il est compilé et possède un système de types fort et statique, avec une syntaxe proche de la programmation mathématique. OCaml est souvent utilisé dans les domaines comme la finance, les systèmes de sécurité et la recherche, grâce à ses performances élevées et sa capacité à écrire du code fiable et concis.

Origine :
OCaml, initialement développé en France par l'INRIA en 1996, est une évolution du langage Caml, qui lui-même est une version de ML (Meta Language). Il a été conçu pour la programmation fonctionnelle, mais inclut des fonctionnalités permettant une programmation impérative et orientée objet, ce qui en fait un langage extrêmement flexible.

Frameworks populaires:

Utilisation réelle :
OCaml est largement utilisé dans l'industrie financière, en particulier par des entreprises comme Jane Street, qui l'utilise pour développer des systèmes de trading automatisé. OCaml est également utilisé pour développer des outils d'analyse formelle et des logiciels critiques nécessitant une grande robustesse et sécurité. Grâce à ses performances élevées et son système de types, OCaml est souvent choisi pour des applications complexes et performantes.

On fait du OCaml en option informatique de MP !

Perl

Perl est un langage de script polyvalent, connu pour ses puissantes capacités de manipulation de texte. Il est souvent utilisé pour l'administration système, le traitement de fichiers et les tâches automatisées.

Origine :
Créé par Larry Wall en 1987, Perl était à l'origine destiné à gérer la manipulation de texte et les logs, mais s'est étendu pour devenir un langage généraliste.

Frameworks populaires:

Utilisation réelle :
Le système de billetterie initial de Ticketmaster a été développé en Perl.

Perl n'a pas de logo officiel, j'ai utilisé le logo de la Perl foundation

PHP

PHP est un langage de script côté serveur conçu pour le développement web dynamique. Il est particulièrement adapté aux applications qui nécessitent des interactions serveur-serveur.

Origine :
Créé par Rasmus Lerdorf en 1994, PHP a rapidement gagné en popularité grâce à sa simplicité d'utilisation pour les développeurs web.

Frameworks populaires:

Utilisation réelle :
Une énorme partie d'Internet repose sur PHP. Environ 77% des sites web utilisent PHP côté serveur, principalement grâce à l'influence de WordPress, qui est écrit en PHP. WordPress, le CMS le plus utilisé au monde, alimente à lui seul plus de 40% des sites web dans le monde. Cela inclut des millions de sites de toutes tailles, des blogs personnels aux grandes entreprises.

Python

Python est un langage de programmation de haut niveau, interprété, connu pour sa lisibilité et sa simplicité. Il est largement utilisé dans de nombreux domaines : développement web, analyse de données, intelligence artificielle, automatisation de tâches, et plus encore. Python est un langage dynamique, ce qui le rend facile à écrire et à modifier.

Origine :
Python a été créé par Guido van Rossum à la fin des années 1980 et publié officiellement en 1991. Son design met l'accent sur la lisibilité du code, ce qui en fait l'un des langages les plus simples à apprendre pour les débutants.

Frameworks populaires:

Utilisation réelle :
Le backend d'Instagram utilise massivement Python pour gérer d'énormes quantités de données utilisateur, et des géants comme Google et Netflix l'utilisent dans leurs infrastructures.

R

R est un langage de programmation et un environnement dédiés aux statistiques, à l'analyse de données et à la création de graphiques.

Origine :
Développé au début des années 1990 par Ross Ihaka et Robert Gentleman, R est principalement utilisé dans les statistiques et les sciences des données.

Frameworks populaires:

Utilisation réelle :
R est très utilisé dans le milieu académique et dans les institutions de recherche pour l'analyse de données et la modélisation statistique.

Ruby

Ruby est un langage de programmation interprété, orienté objet, conçu pour être simple et productif. Il est souvent utilisé pour le développement web et les scripts.

Origine :
Ruby a été créé par Yukihiro Matsumoto en 1995 avec pour objectif de rendre la programmation plus facile et agréable pour les développeurs.

Frameworks populaires:

Utilisation réelle :
GitLab, une alternative populaire à Github, est développée en Ruby on Rails.

Rust

Rust est un langage compilé conçu pour la vitesse et la sécurité, en particulier dans la gestion de la mémoire. Il est utilisé dans le développement de systèmes nécessitant haute performance et sécurité.

Origine :
Rust a été développé par Mozilla en 2010 avec pour objectif d'offrir des performances élevées sans compromis sur la sécurité mémoire.

Frameworks populaires:

Utilisation réelle :
Le moteur de rendu Servo du navigateur Firefox de Mozilla est écrit en Rust. En décembre 2022 il est devenu le premier langage autre que C et assembly à être utilisé dans le développement du kernel Linux.

Swift

Swift est un langage compilé, moderne, conçu par Apple pour remplacer Objective-C dans le développement d'applications pour iOS, macOS, watchOS et tvOS.

Origine :
Swift a été introduit par Apple en 2014 comme alternative moderne à Objective-C pour le développement d'applications sur ses plateformes.

Frameworks populaires:

Utilisation réelle :
La majorité des applications iOS modernes, comme Airbnb, sont développées en Swift.


Langages de balisage

Les suivants ne sont pas à proprement parler des languages de programmation, mais plutôt des languages de balisage (🇬🇧 "markup langage"). La distinction ne les rend évidemment pas moins utiles et ils restent des outils fondamentaux.

En informatique, les langages de balisage représentent une classe de langages spécialisés dans l'enrichissement d'information textuelle. Ils utilisent des balises, unités syntaxiques délimitant une séquence de caractères ou marquant une position précise à l'intérieur d'un flux de caractères (par exemple un fichier texte).

Wikipédia - Langage de balisage

HTML & CSS

HTML (Hypertext Markup Language) structures the content of web pages, while CSS (Cascading Style Sheets) styles it. Together, they form the foundation of web development.

Origine :
HTML a été développé en 1993 par Tim Berners-Lee, CSS a suivi en 1996 pour rajouter des styles aux pages de Tim. Depuis nous en sommes à la HTML5 et CSS3.

Frameworks Populaires:

Real-World Use: Nearly every website in existence uses HTML and CSS for its structure and design, including Wikipedia.

XML, YAML, JSON, Markdown