Sites Internet, services mobiles, applications… La maîtrise du code est essentielle pour les entreprises comme pour les particuliers. Avant de se lancer, il est important de distinguer les différents langages de développement. Client ou serveur, voici ce qu’il faut retenir.
au sommaire
Avant de se lancer dans la programmation, il faut bien comprendre s'il s'agit d'un langage client ou d'un langage serveur. Les langages côté client correspondent à ceux dont l'exécution s'effectue sur l'ordinateur qui visite le site. Le serveur envoie le code tel quel, et le navigateur de l'internaute s'occupe de le traiter et d'en afficher le résultat.
Langages côté client
HTML et CSS, les incontournables
- Le HTML et le CSS ne sont pas des langages de développement web, à proprement parler, mais il est impossible de se lancer dans la création de sites sans les connaître. Le HTML (Hypertext Markup Language) est un langage de balisage, et permet de structurer le contenu d'une page (paragraphe, liste, rubrique, tableau, etc.). Le CSS (Cascading Style SheetCascading Style Sheet) décrit le style d'un document HTML (positionnement des éléments, taille et type de police, couleurscouleurs, etc.), et peut être intégré dans le document, ou dans un fichier séparé. Le contenu produit est principalement statique. Le HTML 5, finalisé en 2014, a cependant ajouté de nouvelles possibilités pour intégrer des éléments multimédias, ainsi que certaines interactions. Ceci a permis notamment de se passer des animations FlashFlash pour de nombreux usages, et donc cela a conduit à l'abandon graduel du langage d'ActionScript côté client, le langage de programmation Flash.
JavaScript, le plus répandu
- JavaScript est généralement cité comme le langage de programmation le plus répandu sur le web, notamment le plus utilisé sur GitHub, la célèbre plateforme de développement web. Créé en 1995, il est devenu un standard du web, pris en charge par tous les grands navigateurs. Il s'agit d'un langage très versatile, qui permet de rendre des pages interactives. Quelques lignes dans une page HTML suffisent à animer un élément, mais le JavaScript permet des applicationsapplications beaucoup plus complexes. Il existe des bibliothèques et frameworks, comme jQuery, AngularJS, ou encore React, développés par des communautés actives ou grandes entreprises du web, qui contiennent des fonctions déjà programmées. Comme le propose Symfony pour des applications mobilesmobiles, il suffit par exemple de quelques instants pour ajouter une galerie d'images complète, avec défilement automatique et transitions spectaculaires.
Langages côté serveur
À l'inverse des langages côté client, ceux, côté serveur, sont traités avant d'envoyer la page au visiteur. Il peut s'agir de récupérer des informations dans une base de données ou générer des pages à la volée. La finalité est de produire un document en HTML et CSS (avec souvent du JavaScript) que le navigateur du visiteur pourra ensuite afficher. En consultant le code source d'une page, le visiteur ne verra aucune trace du langage côté serveur, uniquement ceux, côté client.
JavaJava, le plus connu
- Le langage Java est connu du grand public surtout pour les petits applets qui se lançaient dans des pages web, et la nécessité de mettre à jour le logiciellogiciel Java sur son ordinateur. Il s'agissait d'une utilisation côté client, qui ne se rencontre plus que très rarement. Côté serveur, l'histoire est tout autre. Beaucoup de grands sites web (Google, Facebook, YouTube, Amazon...) s'appuient sur le Java pour gérer leurs sites. De plus, les applications Java sont portables et ne servent pas uniquement au web. Grâce à la machine virtuellemachine virtuelle Java (JVM), le code est écrit une seule fois et peut être utilisé sur n'importe quelle machine (Windows, LinuxLinux, AndroidAndroid, etc).
SQLSQL, jamais sans lui
- Difficile d'imaginer le web sans bases de données pour stocker les informations des utilisateurs, le contenu du site, ou simplement pour accompagner un CMS (Content Management SystemContent Management System). La grande majorité des bases de données (MySQLMySQL, OracleOracle, MicrosoftMicrosoft SQL Server...) utilisent le même langage : le SQL (Structured Query Language). Celui-ci sert à récupérer les données dans le tableau, en sélectionnant des cellules ou via une recherche. Par exemple, lorsque vous allez sur un site d'actualité, le texte et les photos sont stockés dans une base de données SQL.
PHP, le dominant
- Si le Java est le plus utilisé des langages côté serveur, il ne s'agit pas nécessairement du meilleur choix pour celui qui souhaite se lancer dans le développement web. Le langage PHP (Hypertext PreprocessorHypertext Preprocessor), dont la première version date de 1994, peut être très simplement inséré au sein d'un fichier HTML, où le serveur l'exécute avant de l'envoyer au navigateur. Selon le site W3Techs, il domine le marché avec près de 80 % des sites qui y font appel. La majorité des CMS (WordPress, Drupal, SPIP, Joomla...) font appel au PHP, ainsi que de grands sites comme Yahoo, Wikipedia ou FacebookFacebook.
PythonPython, le concurrent
- Le langage Python est légèrement plus ancien que le PHP (la première version a été publiée en 1991), et les deux langages de programmation sont des concurrents directs. Le Python est utilisé dans des CMS comme Django-CMS, ou de grands sites comme GoogleGoogle, Facebook ou encore YouTubeYouTube. Si PHP prend la tête en terme de part de marché du web, le classement GitHub place Python en tête parmi les projets qu'il héberge.
Ruby, l'outsider
- Ruby est encore un autre concurrent à PHP et Python. Il est connu pour sa souplesse, et utilise un ensemble de conventions pour le rendre plus simple et intuitif. Ce langage a beaucoup gagné en popularité grâce à son framework (ensemble de bibliothèques comportant du code déjà écrit), baptisé Ruby on Rails.
C#, le petit dernier
- Le dernier langage est le C#, un dérivé de C et C++ crée par Microsoft en 2000. La particularité de celui-ci est de s'appuyer sur la plateforme .NET de Microsoft, avec le framework ASP.NET.