Les langages de programmation du web : le panorama clair
HTML, CSS, JavaScript, PHP, Python, SQL… À quoi sert chaque langage du web, où il s'exécute (navigateur ou serveur) et quand on l'utilise. Le tour d'horizon pour enfin s'y retrouver.
En bref
Il n’existe pas un langage du web, mais une petite famille de langages complémentaires qui collaborent. Chacun a un rôle précis, et la première chose à comprendre, c’est où il s’exécute : dans votre navigateur (le front-end) ou sur le serveur distant (le back-end).
On peut tout ranger en trois familles :
- Front-end — ce qui tourne dans le navigateur du visiteur : HTML, CSS, JavaScript.
- Back-end — ce qui tourne sur le serveur, invisible pour le visiteur : PHP, Python, Node.js, Ruby, Java, C#, Go, Rust…
- Données — le langage qui parle aux bases de données : SQL.
Le trio de base : HTML, CSS, JavaScript
Ces trois-là sont incontournables : quel que soit le site, ils sont toujours présents. Ils se partagent le travail comme pour construire une maison.
- HTML — la structure (le squelette). Il décrit le contenu : titres, paragraphes, liens, images, formulaires. Ce n’est pas un langage de programmation au sens strict (il n’y a pas de « logique »), mais un langage de balisage. C’est la fondation de toute page.
- CSS — la mise en forme (l’habillage). Couleurs, polices, espacements, mise en page, adaptation au mobile (responsive). Lui non plus ne contient pas de logique : il décide de l’apparence.
- JavaScript — l’interactivité (le mouvement). Menus déroulants, formulaires dynamiques, animations, mises à jour sans recharger la page, appels à des API. C’est le seul vrai langage de programmation que tous les navigateurs exécutent nativement.
Bon à savoir : TypeScript est du JavaScript auquel on ajoute des « types » (des garde-fous qui repèrent les erreurs avant l’exécution). Très utilisé sur les gros projets, il est ensuite converti en JavaScript pour tourner dans le navigateur.
Les langages côté serveur (back-end)
Dès qu’un site doit réfléchir — afficher des pages sur mesure, gérer des comptes, enregistrer une commande, parler à une base de données — il faut un langage côté serveur. Plusieurs se disputent ce terrain, chacun avec sa culture :
- PHP — le vétéran du web. Il fait tourner WordPress et une part énorme des sites existants. Simple à héberger, omniprésent (voir la pile LAMP).
- Python — lisible et polyvalent. Roi de l’IA et de la data, il fait aussi du web via Django ou Flask.
- JavaScript / Node.js — le même langage que le front, mais côté serveur. Un seul langage pour toute l’application (voir Node.js).
- Ruby — réputé productif et agréable, popularisé par le framework Ruby on Rails.
- Java — robuste et structuré, très présent dans les grandes entreprises et les applications à fort trafic.
- C# — le langage de l’écosystème Microsoft (.NET), courant en entreprise.
- Go — créé par Google : simple, rapide, taillé pour les services et les infrastructures modernes.
- Rust — monte en puissance pour sa sûreté mémoire et ses performances, là où la fiabilité est critique.
Aucun n’est « le meilleur » dans l’absolu : le bon choix dépend du projet, de l’équipe et de l’écosystème.
Le langage des données : SQL
Dès qu’un site stocke des informations (clients, produits, articles), il s’appuie sur une base de données. Pour lui parler, on utilise SQL (Structured Query Language) :
SELECT nom, ville FROM clients WHERE ville = 'Lyon';
SQL est quasi universel côté données : il anime MySQL, PostgreSQL, MariaDB, SQLite… À côté, les bases dites NoSQL (comme MongoDB) rangent les données différemment et n’utilisent pas SQL — utiles pour certains usages, mais SQL reste la référence.
Tableau récapitulatif
| Langage | Famille | Où il s’exécute | À quoi il sert |
|---|---|---|---|
| HTML | Front-end | Navigateur | La structure, le contenu |
| CSS | Front-end | Navigateur | La mise en forme, l’apparence |
| JavaScript | Front-end (et back-end) | Navigateur (et serveur avec Node.js) | L’interactivité |
| TypeScript | Front-end (et back-end) | Converti en JavaScript | JavaScript « sécurisé » par les types |
| PHP | Back-end | Serveur | Logique, pages dynamiques (WordPress) |
| Python | Back-end | Serveur | Web, IA, data, automatisation |
| Node.js | Back-end | Serveur | JavaScript côté serveur |
| Ruby | Back-end | Serveur | Web rapide à développer (Rails) |
| Java / C# | Back-end | Serveur | Grandes applications d’entreprise |
| Go / Rust | Back-end | Serveur | Services performants, infrastructure |
| SQL | Données | Base de données | Lire et écrire les données |
Et les « frameworks » dans tout ça ?
On confond souvent langage et framework. Un framework n’est pas un langage : c’est une boîte à outils bâtie au-dessus d’un langage, avec des conventions toutes prêtes pour aller plus vite.
- React, Vue, Angular, Svelte → au-dessus de JavaScript.
- Laravel, Symfony → au-dessus de PHP.
- Django, Flask → au-dessus de Python.
- Ruby on Rails → au-dessus de Ruby.
On choisit donc d’abord un langage, puis souvent un framework pour structurer le projet.
Lequel apprendre en premier ?
Pas besoin de tout apprendre. Un ordre pragmatique :
- HTML + CSS — indispensables, et accessibles dès le premier jour.
- JavaScript — le plus rentable : il sert côté navigateur et côté serveur, et ouvre la porte aux frameworks modernes.
- Un langage serveur selon le but : Python pour la data et l’IA, PHP pour le monde WordPress, Node.js si vous restez en JavaScript.
- Des notions de SQL — utile dès que des données sont en jeu.
À retenir
Un site web n’est jamais écrit dans un seul langage : c’est une équipe de langages qui collaborent. Le trio HTML / CSS / JavaScript est toujours là, dans le navigateur. Le back-end (PHP, Python, Node.js…) et SQL entrent en scène dès qu’il faut de la logique ou des données. Comprendre qui fait quoi, c’est déjà parler le langage du web.
Testez vos connaissances
Quel langage donne la structure d'une page web (titres, paragraphes, liens) ?
HTML est le squelette de la page : il décrit le contenu et son organisation. CSS l'habille, JavaScript l'anime.
Quel est le seul langage que tous les navigateurs exécutent nativement ?
JavaScript est le langage du navigateur. Python ou PHP, eux, tournent côté serveur.
À quoi sert principalement le CSS ?
Le CSS est un langage de style : il décide de l'apparence, pas du contenu ni de la logique.
Lequel de ces langages s'exécute côté serveur (back-end) ?
PHP, Python, Ruby, Java, Go ou Node.js tournent sur le serveur. HTML et CSS, eux, vivent dans le navigateur.
À quoi sert le langage SQL ?
SQL est le langage des bases de données relationnelles : « donne-moi tous les clients de Lyon » s'écrit en SQL.
Un « framework » comme React ou Laravel, c'est…
Un framework n'est pas un langage : c'est un ensemble d'outils et de conventions pour aller plus vite avec un langage donné (React/Vue sur JavaScript, Laravel sur PHP, Django sur Python).