Extrait du site https://www.france-jeunes.net

Développement d'applications internet


Dans cet article j'explique comment utiliser des éléments de programmation pour faire des sites complexes (comme fj). C'est à dire : les langages qui existent, comment ce fait la communication entre ordinateurs, comment sont stockées les données.



Pour simplifier, il y a 2 types de langage de programmation. Il y a les langages pour faire des programmes indépendants : des logiciels, et il y a les langages pour internet.

Le premier groupe de langage est constitué de 3 langages principaux : C, C++ et JAVA. Il faut savoir que le langage C est procédural, le langage C++ est à la fois procédural et orienté-objet et JAVA est uniquement orienté-objet. Les langages orienté-objets sont plus performants car ils utilisent une technique qui facilite la réutilisation du code et le rend plus lisible.

Le second groupe est constitué des langages de programmation pour internet. Il faut savoir d'abord que les pages web sont stockées sur un serveur (un ordinateur spécial) et envoyées au client (le PC que chaque personne utilise) grâce au protocole HTTP. Donc il est possible d'ajouter au code HTML de la page un code provenant d'un langage de programmation.

Du code javascript peut être ajouté avec le HTML. Ce langage est exécuté par le client (par le navigateur, internet explorer, installé sur l'ordinateur que chaque personne utilise).

Du code JAVA que l'on appelle JSP (Java Server Page), ou PHP, ou encore ASP peut être ajouté avec le HTML. Ce code là par contre n'est pas exécuté par le client mais par le serveur qui stocke la page avant de l'envoyer au client. En exécutant le code, il le transforme en HTML qui vient s'ajouter au reste du HTML dans la page.

Il faut savoir que ce code javascript ou JSP etc..., peut être ajouté n'importe où dans le code HTML.

Enfin, le clique sur un bouton dans une page web, peut être programmé pour déclencher l'envoie par le serveur d'une autre page web, mais aussi l'exécution de programmes écrits en JAVA (des servlets) ou en d'autres langages (des programmes CGI) qui peuvent résulter aussi dans l'envoie de pages web codées de façon spécifique. Si on veut exécuter des programmes sur le serveur, il faut au préalable, après les avoir écrits, les avoir envoyé dessus dans des répertoires particuliers.

Envoyer du code dans des programmes sur le serveur est une alternative au fait de mélanger ce code dans des pages web avec le HTML.


Communication entre des ordinateurs

Pour communiquer entre-eux, les ordinateurs utilisent une technologie les "SOCKETS" (c'est à dire que celle-ci utilise une classe java que l'on appelle Socket). Cette technologie permet d'envoyer des informations au format texte, codés, qui peuvent être décodées selon certaines règles par le serveur. On appelle l'ensemble des règles de ce codage un protocole. Il y a plusieurs protocoles : HTTP, SMTP. En effet il y a plusieurs façons pour les ordinateurs de communiquer pour envoyer des pages web (http) ou des mail (smtp).

Cette technologie du SOCKET associé à un protocole a des avantages, elle peut être utilisée juste pour envoyer une page web ou un mail. Mais si la communication est plus complexe entre le client et le serveur, ça devient difficile de l'utiliser.

Il faut alors utiliser une autre technologie que l'on appelle RMI (Remote Method Invocation) en JAVA. Cette technologie repose d'une certaine manière sur les Sockets. En faite ce qu'il faut comprendre, c'est l'idée de couche. RMI utilise des fonctions mais tout le code associé à la transmission sur le net de ces fonctions est généré automatiquement, on n'a pas à le programmer. Et ce code utilise la technologie des Sockets justement. Donc, en faite, on utilise une couche au-dessus de la couche des Sockets.

La technologie RMI fait partie d'un ensemble de technologies diverses qui reposent aussi sur des couches de codes plus primaires, qui s'appelle J2EE. Cet ensemble de technologie est codé avec le langage JAVA de SUN.

Il existe un ensemble de technologie similaire lié à Microsoft cette fois et codé avec d'autres langages, qui s'appelle. NET. L'équivalent de RMI dans cet ensemble là est DCOM.


Stockage de données

Les langages de programmation que l'on ajoute au HTML et qui s'exécute côté serveur (donc pas le javascript) peuvent stocker durablement des données sur le client grâce aux cookies ou sur le serveur grâce à une autre technique les sessions. Cependant si on souhaite interagir d'une façon complexe avec un ensemble de données, il faut utiliser une autre technologie : les bases de données.

Elles sont stockées sur un serveur qui leur sont spécifique, un serveur de bases de données. Le client est donc relié à un serveur web qui est le client d'un serveur de bases de données. Le serveur web envoie des requêtes dans un langage bien spécifique : le langage SQL, au serveur de bases de données. Sur ce dernier serveur un logiciel qui s'appelle un SGDB interprète la requête et l'exécute sur le fichier qui contient la base de donnée qui est une table. Par exemple, il extrait les valeurs d'une ligne où une des cellules a une valeur qui a été fixée.

Un exemple de serveur de base de données est le serveur mysql.

Un exemple de requête SQL inclus dans une ligne de code PHP : mysql_query ("SELECT * FROM table WHERE valeur_cellule LIKExxxx'"). Ce qu'il y a entre les guillemets, c'est une requête en langage SQL.


XML

Un document XML est un fichier qui contient des données sous une forme particulière. Par exemple imaginons que l'on veut mettre à jour une page web en HTML et un document PDF, qui contiennent les mêmes données sous des formes différentes. Au lieu de mettre à jour ces 2 documents un par un, on peut mettre à jour uniquement un document XML et publier ce document de façon à ce que celui soit transformé automatiquement en ces 2 documents. Ça fait une économie de travail.

De même si l'on a envie de faire apparaître sous une forme des données qui peuvent provenir de 2 sources différentes, on peut utiliser un document XML et effectuer des transformations automatiques.

Un exemple d'un document XML (les données, des portions de texte, sont situées entre les balises) :

<! DOCTYPE NOTE SYSTEM "note. Dtd">
<note>
<titre>A 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 ye have. "
</citation>
</note>
</para>
</corps>
</note>

Voilà donc les caractéristiques importantes d'un système distribué.
Extrait du site https://www.france-jeunes.net
Tous droits réservés