![](images/invisible.gif) ![](images/invisible.gif) ![](images/invisible.gif) | Développement d'applications internetDans 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é. | | |
| . Voir tous les commentaires et/ou en poster un (1) | | Re: développement d'applications internet Posté par anavox le 23/10/2006 03:02:53 | Rhaaa !! J'ai du mal avec ton article !! Ou plutôt non, il est bien structuré mais parfois ya des choses bizarres. C'est pas seulement le fait que le sujet soit pas très neuf ...
Bon s'il fallait faire un résumé de ce que tu dis on pourrait écrire ceci :
1 - Les langages de programmation ont 2 camps : les logiciels "indépendants" et les applications internet, et certains complètent le Html pour dynamiser les sites web
2 - Les ordinateurs communiquent sur Internet par les sockets, en utilisant des protocoles spécifiques pour échanges des données
3 - On peut stocker des données dans des fichiers spéciaux ou dans des bases de données pour rendre un site interactif.
4 - On peut composer des squelettes de documents indépendement du format de sortie grâce au XML.
Je sais que tu as dit que c'était pour simplifier mais là c'est pire que simplifier. Tu dis une chose un peu fausse en résumant les langages comme s'ils formaient 2 camps. Et j'aimerais que tu m'expliques ce que tu entends par "programmes indépendants" !!
Je pense que c'était pas utile, si tu restes dans le context "applications internet" tu n'as plus besoin de caser les langages puisque la plupart sont polyvalents : par exemple PHP n'est pas un langage web mais un langage tout court, le web n'est qu'une option de ce langage.
Bon maintenant j'ai rien contre la 2e partie mais ton explication des sockets est ... obscure, alors qu'un socket est pourtant une chose simple et qui devrait être accessible même à un novice. Et pourquoi parler de java tout d'un coup ? o_o
La 3e partie a peut-être été écrite pour des personnes qui s'y connaissent deja un peu non ? Ca peut servir de révisions ^^
Pour la 4e merci beaucoup d'avoir parlé de XML. Ce qui est bien c'est que tu le décris correctement, comme un système de composition générique indépendant de tout format d'affichage de données.
Maintenant j'ai vraiment rien contre mais il y a d'autres langages que C, C++, JAVA, PHP, ASP dans la vie, et même pour faire du web, par exemple Ruby, sur Rebol, ou encore Euphoria. Parlez un peu des frameworks pour python ou .NET orienté web.
Je parie qu'il y en a même qui ignorent qu'on peut faire du Web dans ce langage vieux de plus de 35 ans, le Pascal. Ben pour la peine un exemple de site sous PSP (pascal server page) :
http://www.psp.furtopia.org/cgi-bin/psp/index.psp
Modi fié le 23/10/2006 12:23:47 | | . Voir tous les commentaires et/ou en poster un (1) |
|
![](images/invisible.gif) |
Connectés : 0 membres et 177 visiteurs |
![](images/invisible.gif) |
![](images/invisible.gif)
|