đź’ˇ

Les langages web


publié le 5 juin 2020 par StudioWeb
working on a laptop

Langage de programmation et autres langages sur le web

Il est important de comprendre que tous les langages sur le web ne sont pas des langages de programmation ou de script. Un langage de programmation suppose une logique complexe, des calculs et des algorithmes. Les autres langages servent à structurer les pages web ou encore à intéragir avec la base de données (requêtes).

HTML & CSS

Une confusion commune est de considérer le HTML (Hypertext Markup Language) et le CSS (Cascading Style Sheets) comme des langages de programmation.

lightbulb
Le HTML est un langage de balises, qui sert comme son nom l'indique à insérer des balises de code pour structurer une page web, puis d'insérer du contenu dans ces balises (textes, images, liens, boutons...). Une page HTML est une page qui peut être mise en ligne et affichée par un navigateur, contrairement à un document Word par exemple.

Le CSS consiste Ă  Ă©crire une suite d'instructions, des "feuilles de styles en cascade", qui mettent en forme et permettent d'ajouter du design au HTML et donc Ă  votre page web (couleurs, espaces, alignement, taille du texte et des images...).

Les codes HTML et CSS sont visibles par tous (code source de la page web) et executés par votre navigateur, contrairement aux langages de programmation qui sont invisibles et executés par le serveur (plus sécurisés).
Le CSS et le HTML sont utilisés obligatoirement par tous les développeurs quelque soit le site, il n'y a pas d'alternative contrairement aux langages de programmation.

Les langages de programmation

Il existe des dizaines de langages de programmation, parfois ils sont proches et permettent de réaliser plus ou moins les mêmes actions, d'autres ont une utilité particulière. Nous allons nous concentrer sur les langages de programmation web les plus courants, en restant synthétique afin que vous puissiez les situer la prochaine fois que vous en entendez parler.

Voici une liste non exhaustive des langages les plus répandus, avec pour chacun un exemple d'une fonction simple qui permet d'afficher "Hello, World" afin que vous ayez une idée de la syntaxe de chaque langage :


  • PHP
    C'est le langage de programmation Back-End le plus répandu sur internet. Environ 80% des sites internet dans le monde fonctionnent avec PHP. L'une de ses particularités est qu'il peut être directement intégré au code HTML ce qui le rend très pratique. Ce langage permet, comme la plupart des langages serveur, de créer des algorithmes, gérér des données et les sessions des utilisateurs, ou encore de mettre en place des cookies.

    Son apprentissage est considéré comme plutôt accesible et sa communauté est très importante, ce qui est un critère non négligeable pour le choix d'un langage. Si la documentation officielle ne suffit pas, vous trouverez très souvent la réponse à vos problèmes sur les forums spécialisés comme Stack Overflow, le plus connu, ou sur GitHub le "réseau social" des développeurs (permet de publier et d'échanger du code).

    PHP est également le langage utilisé dans le fameux WordPress, ce qui contribue à sa popularité. C'est est un descendant d'un des premiers langages de programmation, le langage C puis le C++.

    Voici l'exemple affichant "Hello, World" en PHP :

  • code sample
    class HelloWorld{
           public function HelloWorld(){ {
              echo "Hello, World!";
          }
    }


  • Java
    Ne pas confondre avec le langage JavaScript qui n'a rien à voir. Java est un langage de programmation serveur open-source et polyvalent. Il est également très répandu et permet de faire énormément de choses.

    C'est un langage relativement complexe et difficile à apprendre, ses spécialistes sont moins nombreux que pour le PHP. Java est notamment le langage utilisé pour coder les applications mobile Android (pour les application iPhone c'est un autre langage natif qui s'appelle Swift).

  • code sample
    class HelloWorld{
           public static void main(String args[]){
              System.out.println("Hello, World!");
          }
    }


  • Python
    Un langage dit évolué qui se fonde sur du code compact et facilement compréhensible, réputé user friendly. Il revient à la mode ces dernières années après avoir été un peu délaissé.

    Son spectre d'utilisation est large : il permet de contruire des applications web, gérér des données ou construire des programmes spécifiques. YouTube et d'autres sites appartenant à Google fonctionnent partiellement sous Python. Il est également fréquemment utilisé dans les secteurs de l'intelligence artificielle, de la finance et des jeux vidéos.

  • code sample
    def HelloWorld():
           print(“Hello, World")
    HelloWorld()


  • Ruby
    Crée au milieu des années 90 par Yukihiro Matsumoto, ce langage connaît un regain d'attention ces dernières années. Il est notamment enseigné dans des formations prestigieuses comme l'École 42 à Paris ou la formation du Wagon.

    Très lisible et agréable, Ruby est facile à apprendre mais difficle à maîtriser, comme c'est le cas pour de nombreux langages. Son originalité est entre autres qu'il donne une grande liberté au développeur qui peut créer ses propres méthodes. On peut retrouver ce langage dans l'industrie du jeux vidéo, il est également utilisé sur le web.

  • code sample
    def HelloWorld()
           return “Hello, World!”
    end


  • C++
    Comme évoqué précédemment c'est l'un des ancêtres du PHP, mais il est encore utilisé aujourd'hui. Il est dérivé du langage C, l'un des plus anciens langage de programmation. C'est un langage normé, par opposition aux langages open-source.

    Le C++ est un langage de programmation "proche de la machine", il permet de créer des processus très complexes et dispose d'une une grande vitesse d'exécution. Ce n'est pas forcément le premier choix du développeur pour programmer sur le web, mais il est utilisé pour programmer des des sytèmes complexes, par exemple des jeux vidéos pour PC.

  • code sample
    int main() {
           cout<<"Hello, World!";
           return 0;
    }


  • C#
    Prononcé "C sharp", ce langage est apparu au début des années 2000. C'est un langage de programmation généraliste et relativement complexe développé par Microsoft. Il peut être considéré comme proche du C++ et de Java. Le langage C# est populaire bien que parfois critiqué car contraignant : il oblige à utiliser le framework .Net de Microsoft.

    C# reste un langage majeur qui permet notamment de développer des programmes Windows et des jeux vidéos pour PC et Xbox.

  • code sample
    class HelloWorld{
           static void Main(string[] args){
              Console.WriteLine("Hello, world!");
              Console.ReadLine();
          }
    }


  • SQL
    SQL (Structured Query Language) est un langage de requêtes. Il est incontournable et utilisé en permanence afin de faire des requêtes dans la base de données. SQL va notamment vous permettre de rentrer des données dans la base de données, les modifier, les mettre à jour ou les supprimer. En poussant son utilisation il peut s'avérer très utile pour trier les données. Vous pouvez par exemple retrouver parmis des milliers de données quels sont vos produits les plus vendus, les trier par années et montant du produit.

    Ce langage de requête peut soit être utilisé seul si vous travaillez directement dans un SGBD (système de gestion de base de données) comme MySQL, ou il peut être combiné avec un langage Back-End afin d'automatiser ces requêtes sur votre site. C'est le cas par exemple lors de l'ajout d'un nouvel utilisateur dans la base de donnés lorsqu'il s'inscrit.

    L'exemple suivant permet d'aller rechercher dans la base de données tous vos utilsateurs agés de 35 ans :

  • code sample
    "SELECT * FROM users WHERE age=35"


    Les applications mobiles
  • Il existe deux solutions principales pour coder des applications mobiles. La première est d'utiliser un langage "natif", c'est Ă  dire le langage d'origine pour iOS et Android. Dans ce cas le dĂ©veloppeur utilisera Swift pour les iPhones et Java pour les Android. C'est contraignant car il faut coder deux fois la mĂŞme appli afin de la rendre accessible sur tous les appareils. L'avantage est que les langages natifs permettent d'exploiter au mieux toutes les fonctionalitĂ©s des diffĂ©rents appareils et de leur système d'exploitation.

    La deuxième solution est d'utiliser un langage "hybride". L'avantage majeur est que ce langage permet de coder une même application accessible à la fois sur Iphone et Android. En revanche certaines fonctionnalités ne seront parfois pas accessibles et le design peut s'avérer moins optimisé qu'en natif. Pour rendre l'appli hybride il faut en effet faire quelques concessions. React Native et Ionic sont par exemple des langages hybrides populaires.


Le cas particulier de JavaScript

Javascript est un langage de programmation et de script souvent cité aux côtés des exemples précédents, mais cela n'a pas vraiment de sens. La différence majeure est que c'est un langage côté client. Il permet donc de créer des algorithmes et des logiques complexes, mais n'est pas un langage serveur qui permet d'intéragir avec une base de données par exemple. Par contre cela montre que les algorithmes ne sont donc pas limités aux langages serveur.

code sample
function helloWorld() {
       alert("Hello, world !");
}


Sa popularité et sa communauté sont gigantesques, car il permet de faire énormément de choses et il est décliné sous forme de frameworks et librairies.

Les frameworks et les librairies sont des dérivés de langages qui simplifient leur utilisation (moins de code à taper) grâce à un cadre de développement fixe et des fonctions pré-définis. Ils ont deux points forts principaux : d'une part ils permettent de gagner du temps, et d'autre part ils rendent le code facilement lisible par tous les développeurs, grâce à leur normes de développement. Symfony est par exemple un framework très populaire pour les développeurs PHP.

lightbulb
JavaScript est utilisé par TOUS les développeurs web dans le monde, ce qui le rend indispensable comme le HTML et le CSS par exemple.
Il va permettre de créer, via des algorithmes, des interactions plus ou moins complexes sur les pages web (si je clique sur ce bouton, un texte apparait et une image disparait par exemple).

La particularité de JavaScript par rapport aux autres langages présentés précédemment, est qu'il est visible par tous et executé directement par le navigateur.

C'est un langage asynchrone, ce qui signifie que ses instructions sont effectuées immédiatement sans actualiser et recharger la page, contrairement au PHP par exemple.

Créer un site de A à Z avec JavaScript et NodeJS

Il est toutefois possible de créer un site dynamique (avec une partie serveur et une base de données) avec ce langage, à condition d'utiliser NodeJS (les lettres JS font référence à JavaScript). NodeJS permet comme les autres langages serveurs de gérer les données. Pour faire simple, NodeJS est écrit en JavaScript comme tous les frameworks et librairies JS.

Cela signifie que maîtriser JavaScript revient à pouvoir faire pratiquement tout ce que l'on veut sur le web avec un même langage, d'où sa popularité. Un développeur JavaScript/NodeJS est appelé un "fullstack JS", ce qui signifie qu'il utilise uniquement JavaScript et tous ses dérivés pour coder un site. Il est même possible de créer des jeux vidéos en ligne ou des application mobiles avec JavaScript.

Alors, quel langage choisir ?

Il existe des effets de mode dans le devéloppement web. Certains langages sont délaissés puis reviennent au coeur de l'attention (comme l'exemple de Python cité précédemment). Méfiez-vous donc des Top 10 et autres classements de langages. Il y a parfois des confusions et un mélange entre les langages back-end et front-end, les comparer n'a pas de sens puisqu'ils n'ont pas le même finalité.

Il ne faut pas prendre ces classements à la lettre mais cela reste intéressant si vous consultez des études fiables qui montrent les langages les plus demandés en ce moment, pour une utilisation donnée.
Un langage très populaire apporte une sécurité car on sait qu'il est souvent mis à jour et que sa communauté est active.

lightbulb
Le plus important dans le choix du langage est surtout ce que vous voulez pouvoir coder. Est-ce que vous voulez faire des sites web, des application mobiles Android et/ou iPhone, des jeux vidéos, des programmes pour Windows, des programmes pour Mac, des objets connectés ou encore de l'intelligence artificielle ?

Si vous avez déterminé précisément ce que vous voulez coder, le choix du langage sera plus facile. Si vous ne savez pas encore ce que vous voulez coder, orientez vous vers un langage généraliste et populaire comme JavaScript.


Vous connaissez maintenant les principaux langages web. Si vous voulez en savoir plus, consultez notre article suivant sur les algorithmes et la programmation, vous pourrez même tester vous-même et écrire vos première lignes de codes !

Si vous souhaitez aller encore plus loin StudioWeb vous propose des formations personnalisées et des initiations à différents langages web.




VOIR TOUS LES ARTICLES