« Programmation Web » : différence entre les versions

Contenu supprimé Contenu ajouté
Tavernierbot (discussion | contributions)
m Robot : Changement de type cosmétique
Ligne 3 :
La '''Programmation web''' peut prendre différentes formes : de la simple page Web|page statique à la page dynamique avec connexion à une base de données. Nous allons tracer ici un bref aperçu de différentes technologies possibles dans la programmation côté client ou côté serveur HTTP|serveur.
 
== Les bases de la page web - Les langage de balisage|langages de balisage ==
 
=== Le langage HTML ou XHTML ===
Toute page Web comprend une base de langage HTML ou XHTML. Il s'agit d'un langage de balisage qui définit essentiellement la '''structure''' de la page web (titres, tableaux, paragraphes, etc.).
 
Ligne 16 :
Le XHTML est une évolution du HTML basée sur Extensible Markup Language|XML.
 
=== Les limites du HTML ===
 
Une page web créée en HTML est totalement statique et n'offre aucune possibilité d'interaction avec le visiteur. Chaque page doit être créée au préalable et doit être manuellement mise à jour.
Ligne 30 :
Il faut donc autre chose pour ajouter de l'animation ou de l'interactivité dans la page web.
 
=== Le XML (''eXtended Markup Language'') ===
 
Le langage de balisage XML peut également servir de base à une page web. Le fichier XML contiendra le contenu de la page web. Ce fichier sera lié à un fichier XSL (Feuilles de style XML) qui mettra en forme les données du fichier XML.
Ligne 36 :
La plupart du temps, la page web ne sera pas basée sur un fichier XML natif mais celui-ci sera généré dynamiquement par un des langages de programmation web ci-dessous.
 
== L'insertion d'objets ==
 
Une première technique pour rendre une page web plus dynamique, est d'y insérer des objets. Les objets seront insérés dans la page HTML grâce aux tags <object>, <img>, <applet> ou <script>.
 
=== Images ===
 
Un premier type d'objet sont les Image numérique|images qu'on intègre dans la page web. Les images sont généralement statiques sauf les Graphics Interchange Format|gifs animés.
Ligne 48 :
;Mise en place : Les images numériques deviennent un media très "grand public" et sont assez aisées à implémenter dans un site web.
 
=== Multimédia ===
 
L'intégration de documents multimédia (son (physique)|son ou vidéo) va également permettre de 'dynamiser' un site mais ce genre de fichier est souvent très lourd au téléchargement.
Ligne 58 :
;Performance : Comme nous l'avons signalé, les fichiers multimedia sont souvent lourds et donc longs à télécharger. Ils vont donc fortement réduire les performances (temps de chargement) de la page web.
 
=== Animation Flash ===
 
Macromedia Flash|Flash (de Adobe Systems - Macromedia) est un programme qui permet de créer des animations dans un format fermé|format dessin vectoriel|vectoriel logiciel propriétaire|propriétaire relativement léger. Le programme génère un fichier avec l'extension .fla qui est le fichier de travail et qui sera 'compilé' en un fichier avec l'extension .swf. Swift est un autre programme générant des fichiers swf hors de la sphère Macromedia.
Ligne 74 :
;Utilisation' : Avec Flash, il est possible de créer n'importe quoi. Mais on privilègiera des interfaces dynamiques (déplacements d'images, petites animations). En tant que partie d'une page, Flash se retrouvera fréquemment dans la création de bannière publicitaire|bannières publicitaires et de petits jeux.
 
=== Applet Java (appliquette) ===
 
Il est également possible de créer des petits programmes avec interface dans un langage de programmation comme Java (langage)|Java. Ces petits programme sont appelés ''Applet|Applets'' ou ''appliquettes''. Ils sont complètement autonomes mais éventuellement paramètrables et s'intègrent dans une page web. Ils sont téléchargés avec la page web et exécutés par l'ordinateur client.
Ligne 90 :
Par ailleurs la machine virtuelle Java gère elle-même les allocations de mémoire (en langage C, la mémoire est gérée manuellement), ainsi les applications Java prennent plus de ressources.
 
=== ActiveX ===
 
Les ActiveX sont une solution de création d'applications développée par Microsoft. Les principes de fonctionnement sont très semblables au fonctionnement des applets.
Ligne 102 :
;Utilisation : Les possibilités d'utilisation des ActiveX sont énormes et il y a peu de limitations sécuritaires. A cause de cela et du lien avec une plateforme, les ActiveX seront souvent réservés aux Intranets.
 
== La programmation web côté client ==
 
Les objets ne fournissent pas toutes les solutions aux besoins d'interactivité et de dynamisme des sites ou sont parfois lourds à mettre en place. Il est possible alors de passer à de la programmation permettant une meilleure interaction avec la page HTML.
 
=== Principe ===
 
Quand le visiteur demande une simple page HTML (avec ou sans objets) en tapant une adresse ou URL), le serveur web lui renvoie simplement le contenu de la page demandée, c'est le navigateur web qui interprète le contenu HTML et les plug-ins qui interprètent les objets, en demandant à leur tour le contenu des objets au serveur web.
Ligne 112 :
Si du code, côté client, est inséré dans la page, le serveur web renverra également la page au client, y compris le code. C'est donc, à nouveau le navigateur web qui doit interprèter le code et faire ce que le code demande.
 
=== Utilisation ===
 
La programmation côté client sera utilisée essentiellement dans le cas de validation de formulaires (champs obligatoires, petits calculs,...) et dans la création de petites animations (menus déroulants, ...).
 
=== Langage de script|Langages de Script ===
 
La programmation côté client utilise des langages de scripts. À la différence d'autres langages de programmation, ces langages ne sont pas compilés. Ils sont interprètés par le navigateur web du visiteur, et leur syntaxe est moins stricte que celle des langages de développeurs (variables non-typées a priori, le point-virgule à la fin des instructions est optionnel, ...).
Ligne 128 :
* '''DHTML''' n'est PAS un langage de script mais simplement la combinaison, dans une page web, de JavaScript, de HTML 4 ou de XHTML et de CSS.
 
=== Avantages et inconvénients ===
 
* '''Avantages''':
Ligne 139 :
Il n'est donc pas question ici de lier le site web à une base de données.
 
== La programmation web côté serveur ==
 
=== Principe ===
 
Lors de l'insertion de programmation côté serveur dans une page, lorsque le visiteur demande la page, le serveur va d'abord lire celle-ci, il va interprèter le code serveur et encapsuler le résultat dans la page HTML. Cette dernière sera expédiée au visiteur sans plus aucune trace du code serveur. Le visiteur reçoit donc une pure page html (avec éventuellement encore du code client).
Ligne 149 :
Les fichiers des pages "côté serveur" ont généralement une extension autre que .htm ou .html. L'extension dépendra de la technologie utilisée.
 
=== Les différentes technologies ===
 
==== Les technologies Microsoft ====
 
* '''Active server pages|ASP''' (''Active Server Pages''): Technologie développée par Microsoft à partir de 1996 dans le but de créer des pages dynamiques. ASP permet d'ajouter du code dans la page HTML qui sera interprèté par le serveur. La partie ADO (''ActiveX Data Object'') de ASP permet de se connecter à une base de données.
Ligne 168 :
**'''Utilisation''': Tout type d'application web peut être créé avec ASP.Net.
 
==== PHP ====
 
PHP (''PHP: Hypertext Preprocessor'') est un langage de Script interprèté côté serveur. Le code PHP est inscrit directement dans la page HTML et sera lu par le serveur, "processé" et le résultat sera encapsulé dans la page HTML. Ce langage a été créé dans le cadre des logiciels Open Source (libre de droit quant à leurs sources et leur documentation).
Ligne 177 :
*'''Utilisation''' : Tout type d'application web peut être créé avec PHP.
 
==== Les technologies Java ====
 
* '''JavaServer Pages|JSP''' (''Java Server Pages''): Technologie développée par Sun Microsystems dans le but de créer des pages dynamiques avec le langage Java. Les JSP permettent d'ajouter du code Java dans la page HTML qui sera interprètée par le serveur. On peut distinguer trois ensembles d'instructions JSP:
Ligne 195 :
**'''Utilisation''': Tout type de fonctionnalités.
 
==== ColdFusion ====
 
ColdFusion est une technologie de création de pages dynamiques développée par Macromedia. Les pages d’application sont des pages Web contenant des instructions de programmation écrite à l’aide d’un langage propriétaire, le CFML (ColdFusion Markup Language). Le CFML est un langage simple basé sur des balises dont la syntaxe est similaire à celles du langage HTML mais interprètées par le serveur.
==== Ajax (''Asynchronous JavaScript And XML'') ====
 
Asynchronous JavaScript and XML|Ajax est une technologie qui combine plusieurs éléments:
Ligne 205 :
* les feuilles de style en cascade|CSS pour la mise en forme de la page,
* du JavaScript et le Document Object Model|DOM pour la partie dynamique,
* XML, XSLT et XMLHttpRequest pour la manipulation des données (ou d'autres formats de fichiers de données).
 
À la base, cette technologie permet d'effectuer une requête HTTP asynchrone (en parallèle) au serveur Web (effectuer une action, mettre à jour une information, ...). Le serveur renvoie la ressource demandée, celle-ci pouvant contenir des informations ou du code pour mettre à jour la page HTML.