Image 1
Tech & Gaming

Développement d'applications internet

Découvrez les langages de programmation web, la communication client-serveur via sockets et protocoles, le stockage de données avec SQL et les bases de données, et le format XML pour structurer vos informations.

As-tu aimé cet article ?

Image 1
Image 1

Pour simplifier, il existe deux types de langages de programmation : les langages pour créer des programmes indépendants (des logiciels) et les langages pour le web.

Langages de programmation : logiciels vs web

Le premier groupe est constitué de trois langages principaux : C, C++ et Java. Le langage C est procédural, le C++ est à la fois procédural et orienté objet, tandis que Java est uniquement orienté objet. Les langages orientés objet sont plus performants car ils facilitent la réutilisation du code et le rendent plus lisible.

Le second groupe concerne les langages de programmation pour internet. Les pages web sont stockées sur un serveur (un ordinateur spécialisé) et envoyées au client (le PC de l'utilisateur) via le protocole HTTP. Il est donc possible d'ajouter au code HTML du code provenant d'un langage de programmation.

Du code JavaScript peut être intégré directement dans le HTML. Ce langage est exécuté côté client, c'est-à-dire par le navigateur installé sur l'ordinateur de l'utilisateur.

Du code Java (appelé JSP – Java Server Pages), PHP ou encore ASP peut également être ajouté au HTML. Contrairement à JavaScript, ce code est exécuté côté serveur avant d'être envoyé au client. Le serveur transforme ce code en HTML qui s'intègre au reste de la page.

Ce code JavaScript ou JSP peut être inséré n'importe où dans le code HTML.

Interaction serveur : servlets et programmes CGI

Le clic sur un bouton dans une page web peut être programmé pour déclencher l'envoi d'une autre page par le serveur, mais aussi l'exécution de programmes écrits en Java (des servlets) ou en d'autres langages (des programmes CGI). Ces programmes peuvent générer des pages web codées de façon spécifique. Pour exécuter ces programmes sur le serveur, il faut au préalable les avoir envoyés dans des répertoires particuliers.

Cette approche est une alternative au mélange de code dans les pages web avec le HTML.

Communication entre ordinateurs : sockets et protocoles

Pour communiquer entre eux, les ordinateurs utilisent une technologie appelée « sockets » (utilisant une classe Java du même nom). Cette technologie permet d'envoyer des informations au format texte, codées selon certaines règles que le serveur peut décoder. L'ensemble de ces règles constitue un protocole. Il existe plusieurs protocoles : HTTP pour les pages web, SMTP pour les emails.

La technologie des sockets associée à un protocole présente des avantages : elle peut être utilisée simplement pour envoyer une page web ou un email. Cependant, si la communication entre client et serveur devient plus complexe, son utilisation devient difficile.

RMI et J2EE : communication avancée en Java

Pour les communications plus complexes, on utilise une technologie appelée RMI (Remote Method Invocation) en Java. Le principe repose sur l'idée de couches : RMI utilise des fonctions dont tout le code de transmission sur le réseau est généré automatiquement. Ce code utilise précisément la technologie des sockets. On utilise donc une couche au-dessus de la couche des sockets.

La technologie RMI fait partie d'un ensemble de technologies appelé J2EE (Java 2 Enterprise Edition), codé avec le langage Java de Sun.

Il existe un ensemble similaire lié à Microsoft, appelé .NET. L'équivalent de RMI dans cet ensemble est DCOM.

Stockage de données : cookies, sessions et bases de données

Les langages de programmation exécutés côté serveur (donc pas JavaScript) peuvent stocker durablement des données sur le client grâce aux cookies, ou sur le serveur grâce aux sessions. Cependant, pour interagir de manière complexe avec un ensemble de données, il faut utiliser une autre technologie : les bases de données.

Les bases de données sont stockées sur un serveur dédié, appelé serveur de bases de données. Le client est donc relié à un serveur web, qui est lui-même client du serveur de bases de données. Le serveur web envoie des requêtes dans un langage spécifique : le SQL (Structured Query Language). Sur le serveur de bases de données, un logiciel appelé SGBD (Système de Gestion de Bases de Données) interprète et exécute la requête sur le fichier contenant la base de données.

Un exemple de serveur de bases de données populaire est MySQL.

Exemple de requête SQL incluse dans une ligne de code PHP :

mysql_query("SELECT * FROM table WHERE valeur_cellule LIKE '%xxxx%'");

Ce qui se trouve entre les guillemets est une requête en langage SQL.

XML : format de données universel

Un document XML est un fichier qui contient des données sous une forme structurée. Par exemple, si l'on souhaite mettre à jour une page web HTML et un document PDF contenant les mêmes données sous des formes différentes, on peut mettre à jour uniquement un document XML et le transformer automatiquement en ces deux formats. Cela représente une économie de travail importante.

De même, pour afficher sous une forme unifiée des données provenant de deux sources différentes, on peut utiliser un document XML avec des transformations automatiques.

Exemple de document XML (les données sont situées entre les balises) :

<!DOCTYPE note SYSTEM "note.dtd">
<note>
  <titre>À propos de système d'exploitation...</titre>
  <corps>
    <para>
      L'histoire de Linux débute en Finlande en 1991, lorsqu'un certain Linus B.
      <citation>
        "I certainly still, after more than five years..."
      </citation>
    </para>
  </corps>
</note>
As-tu aimé cet article ?
mtaveau
Marc Taveau @mtaveau
9 articles 0 abonnés

Commentaires (1)

Connexion pour laisser un commentaire.

Chargement des commentaires...