Pourquoi faire appel à une agence web : le vrai calcul
« Pourquoi faire appel à une agence web plutôt que de le faire en interne ? » La…
« Quel langage apprendre pour faire du web ? » La question revient sans cesse, et la plupart des réponses alignent une liste de noms sans dire à quoi chacun sert. Or la programmation web ne se déroule pas à un seul endroit : elle se répartit entre trois lieux d’exécution distincts, et c’est cette répartition qui détermine le langage, bien plus que les préférences de chacun.
| Où le code s’exécute | Ce qu’il y fait | Langages concernés |
|---|---|---|
| Dans le navigateur du visiteur | Réagir aux actions, modifier la page, appeler le serveur | JavaScript, et ce qui se compile vers lui |
| Sur le serveur | Calculer, authentifier, interroger les données, produire la réponse | PHP, Python, JavaScript, Java, C#, Ruby, Go |
| Dans la base de données | Stocker, retrouver, agréger | SQL |
Cette division explique tout le reste. Un langage n’est pas « meilleur » qu’un autre dans l’absolu : il occupe une case. Et une seule de ces cases n’admet pratiquement aucun choix.
C’est le point que les listes de langages masquent en mettant tout sur le même plan. JavaScript est le seul langage que les navigateurs exécutent nativement. Ce n’est pas une question de popularité, c’est une contrainte technique : il n’y a pas d’alternative à choisir.
Ce qui existe en revanche, ce sont des langages qui se transforment en JavaScript avant d’être envoyés au navigateur. TypeScript est le plus répandu : il ajoute un système de types à JavaScript et se compile vers lui. On n’écrit pas autre chose que du JavaScript, on l’écrit autrement.
Une seconde voie existe, WebAssembly, qui permet d’exécuter dans le navigateur du code compilé depuis d’autres langages. Elle sert aux traitements lourds, calcul, image, jeu, et ne remplace pas JavaScript pour construire une interface.
La confusion est constante et elle a des conséquences pratiques, parce qu’elle fait croire qu’apprendre le HTML, c’est apprendre à programmer.
Ni l’un ni l’autre n’exprime de logique : pas de condition véritable, pas de boucle, pas de variable manipulable au sens d’un programme. Ils restent indispensables, et ils s’apprennent en premier, mais les confondre avec de la programmation conduit à une mauvaise surprise au moment d’aborder JavaScript.
Le choix se fait rarement sur le langage seul : il se fait sur le cadre applicatif et sur l’écosystème qui va avec, comme nous l’expliquons dans notre article sur les raisons de choisir Symfony.
SQL n’est pas un langage généraliste : on ne construit pas une application avec. C’est un langage de requête, conçu pour décrire ce que l’on veut obtenir plutôt que la manière de l’obtenir.
C’est pourtant lui qui décide de la vitesse de la plupart des sites. Une page lente est bien plus souvent une requête mal écrite ou un index manquant qu’un langage serveur trop lent. C’est l’une des causes les plus fréquentes que nous détaillons dans notre article sur l’optimisation des performances d’un site.
Ces trois mots reviennent dans toutes les offres et dans toutes les formations. Ils ne désignent pas des langages mais des périmètres, et ils recoupent exactement la répartition décrite plus haut.
Un débutant a tout intérêt à choisir un côté et à le tenir quelques mois. Apprendre les deux en parallèle donne l’impression d’avancer deux fois plus vite et produit en général deux compétences inutilisables.
La communication entre le navigateur et le serveur mérite d’être apprise tôt, car c’est elle qui structure toute application moderne : nous en décrivons les principes dans notre article sur la création d’une API REST performante.
La réserve vaut d’être posée, parce que le débat sur « le meilleur langage » occupe une place sans rapport avec son importance réelle.
HTML et CSS d’abord, rapidement, puis JavaScript qui est le seul langage exécuté nativement par les navigateurs. Ensuite un langage serveur choisi selon l’objectif : PHP pour les CMS, Python pour les données, Java ou C# pour l’entreprise.
Non. Le HTML est un langage de balisage : il décrit la structure d’un document sans exprimer de logique, ni condition ni boucle. Il reste indispensable, mais l’apprendre n’est pas apprendre à programmer.
Cascading Style Sheets, soit feuilles de style en cascade. C’est un langage de présentation qui attribue une apparence aux éléments structurés par le HTML, et non un langage de programmation.
Pas directement. On peut écrire dans un langage qui se compile vers JavaScript, comme TypeScript, ou exécuter du code compilé via WebAssembly pour les traitements lourds. Dans les deux cas, JavaScript reste au centre de l’interface.
Très peu sur un site ordinaire. Les requêtes en base de données, le poids des images et le nombre d’appels réseau pèsent bien davantage que le langage serveur retenu.
« Pourquoi faire appel à une agence web plutôt que de le faire en interne ? » La…
SEOPress est la principale alternative française à Yoast sur WordPress, et la comparaison entre les deux se réduit…
Découvrez comment bien choisir un nom de domaine pour renforcer votre identité numérique, votre branding web et votre…