Présentation générale de la POW Séquence 1 Ü Contenu 1. Les différents types de sites Web 2. Les outils techniques Introduction La POW (Programmation Orientée Web) est l’ensemble de toutes les techniques et outils spécifiques à la création de sites Web, c’est-à-dire à la création d’applications accessibles via le Web. Ces techniques et outils relèvent, pour la plupart, des compétences des informaticiens. Au vu de l’importance croissante de l’Internet et du Web (prononcer « ouèbe »), vous comprendrez pourquoi nous estimons nécessaire de vous initier à certaines de ces technologies. La création de sites Web nécessite l’utilisation de langages de programmation dits de présentation, comme le si connu HTML, dont les mots clés servent à décrire la structure des pages Web. Cependant, pour créer des sites plus élaborés, on utilise aussi d’autres langages de programmation. Dans ce dernier cas, pour décrire les pages d’un site, on utilise de concert le langage HTML (ou un langage de la même famille) et un ou plusieurs autres langages de programmation. La conséquence de cette association de différents langages de développement de sites Web est que les architectures logicielles des sites sont souvent compliquées à comprendre, mais aussi à créer. C’est pourquoi ce support de cours se contente de poursuivre l’objectif modeste de vous initier aux techniques et outils les plus utilisés dans la programmation orientée Web. Qu’est-ce qu’un site Web ? Du point de vue technique, et pour faire simple, un site Web est généralement un répertoire contenant un ensemble de « pages Web » reliées entre elles par des liens. Le terme « reliées » signifie ici que les pages d’un même site sont accessibles les unes par rapport aux autres. Un site Web est stocké sur un serveur, spécialisé dans l’hébergement de sites, quelque part dans le monde. Dans d’autres cas, le site est sur le serveur d’un réseau local non ouvert sur Internet (on appelle ça un intranet). Qu’il soit ouvert sur le monde, ou au contraire confiné dans un réseau local, tout site est accessible via un navigateur Web ou browser, comme Netscape, Internet Explorer, Mozilla... 8 3950 TG PA 00 Séquence 1 Présentation générale de la POW À quoi sert le navigateur ? Un navigateur est un logiciel utilisé par l’utilisateur lorsqu’il souhaite accéder à des pages Web. Un utilisateur qui accède à des pages Web (familièrement, on dit « qui surfe », prononcer « kisseurf ») est appelé un internaute. Le rôle du navigateur est de charger, sur le poste de l’internaute, les fichiers (et éventuellement des dossiers) contenant la description de la page demandée par l’internaute et de traduire (on dit « d’interpréter ») cette description pour afficher la page dans la fenêtre du navigateur. La description d’une page Web est un fichier contenant les informations qui décrivent la page et éventuellement des instructions réglant certains de ses comportements (un exemple simple : un fichier qui s’appellerait « maPage.html » contiendrait la description de la page « maPage » et cette description serait écrite en langage HTML). En bref, un navigateur est un interpréteur de code source (ce code source est essentiellement composé de HTML). De même qu’un éditeur de texte interprète du code ASCII pour afficher du texte, le navigateur interprète le code source des pages pour les afficher. Ce qui transite sur le net, c’est le code source décrivant les pages, pas les pages. Les pages ne peuvent être visualisées que si on les ouvre depuis un navigateur, ou éventuellement depuis un autre logiciel sachant afficher des pages Web à partir de leur description (exemple : Microsoft Word est capable de visualiser des pages Web décrites en langage HTML). Le navigateur permet donc d’accéder aux pages disponibles sur le Web (en français, on dit « sur la TAM », TAM signifiant « Toile d’Araignée Mondiale »), ou bien il permet d’accéder aux pages Web d’un Intranet (une structure qui ressemble à l’Internet, mais qui n’est pas « ouverte » à des accès extérieurs). L’internaute accède à des pages Web en indiquant au navigateur leur adresse Internet ou URL, ce sigle anglais signifiant Uniform Resource Locator (avec l’accent, prononcer « Younifôme Ouisauce Locaiteu ») ou encore adresse réticulaire, en français. C’est moins beau et ça sonne moins bien à l’oreille en français, je vous l’accorde. Exemple d’URL : http://www.leserveurWeb.fr/lapage.html Que sait faire un navigateur ? Tous les navigateurs savent afficher des pages dont les descriptions sont écrites en langage HTML (Hyper Text Markup Language), DHTML (Dynamic HTML) ou XML (Extended Markup Language). Ces trois langages sont des « Markup Language », en français des « langages à balises ». Les navigateurs savent en fait demander différentes ressources comme, par exemple, le code source de la page Web dont l’internaute a indiqué l’URL, et éventuellement les dossiers accompagnant le code source de cette page, ces dossiers contenant, par exemple, les images qui s’afficheront dans la page. Les navigateurs savent également exécuter des programmes, envoyés avec le code source de la page. Ces programmes servent à enrichir la description des pages ou à régler certains comportements de la page (on abordera cet aspect de la POW ci-dessous dans la partie intitulée « Outils et techniques »). 8 3950 TG PA 00 10 Séquence 1 Présentation générale de la POW Le chargement du code source de la page et de ses programmes une fois effectué, ces programmes s’exécuteront sur la machine de l’internaute. On appelle ces programmes des scripts clients (car il s’exécutent sur la machine cliente, celle de l’internaute). Comment ça se passe ? – Ben, ça se passe bien. – Non, mais la question est juste un peu vague, je trouve, pas vous ? – Comment ça se passe, QUOI ? – Alors je précise ma question : comment que ça se passe pour que le navigateur eh ben, il affiche les pages ouèbes ? – Là, ça va, j’ai compris, alors j’explique. L’internaute tape une URL dans la barre d’adresse du navigateur, ou bien il clique sur une URL écrite dans un document. L’URL que l’internaute a tapée contient : l’adresse du serveur + l’emplacement de la page souhaitée sur ce serveur. Le navigateur demande donc cette page au serveur. Si la page est accessible à cet internaute, le serveur renvoie sa description à la machine de l’internaute. Le navigateur interprète cette description et exécute les éventuels programmes qui accompagnaient la description de la fenêtre, et la page s’affiche. Un point c’est tout ! Quel protocole transporte les pages ? Un protocole, c’est une collection de règles qui régissent un échange. Le protocole utilisé pour transporter les pages Web le long des voies de l’Internet (au sein d’un Intranet) est le protocole HTTP (Hyper Text Transfer Protocol). Ce protocole a ici pour rôle de régir la communication entre le client HTTP (le navigateur de l’internaute) et un logiciel s’exécutant sur le serveur hébergeant la page, ce logiciel étant appelé le serveur http, car son rôle est de distribuer les pages Web demandées par les internautes. Le protocole HTTP a pour rôle d’établir la connexion avec le serveur qui héberge la page que l’internaute veut voir s’afficher, et de rapatrier le code source de cette page sur le poste de l’internaute. Quand l’internaute clique sur un lien hypertexte ou qu’il le saisit dans la barre d’adresse de son navigateur, le navigateur envoie une requête http au serveur Internet. Cette requête demande au serveur d’envoyer la page spécifiée. Exemple : si on saisit l’URL http://www.leserveurWeb.fr/lapage.html ou que l’on clique dessus, le navigateur s’adresse au serveur http http://www.leserveurWeb.fr et lui demande la page lapage. html. 8 3950 TG PA 00 11 Séquence 1 Présentation générale de la POW Vocabulaire Que le site soit très simple ou élaboré, le poste de l’internaute est appelé le poste client et la machine hébergeant le site Web est appelé le serveur. Les sites Web ont-ils tous les mêmes fonctionnalités ? Non. Ils ont des fonctionnalités plus ou moins élaborées. Bien entendu, plus c’est élaboré, plus c’est compliqué à développer. Il existe différentes catégories de sites Web, chaque catégorie correspondant à un certain degré d’élaboration. Nous allons ci-dessous faire une petite visite guidée dans la galerie des différentes catégories de sites Web. 1. Les différents types de sites Web Grosso modo, il existe trois grandes familles de sites Web : les sites statiques, les sites dynamiques et les applications Web. 1A. Les sites statiques Ce sont des sites de présentation. Ils présentent des informations. Ces sites sont dits statiques car leurs pages sont des pages statiques. Une page est dite statique quand le contenu qu’elle affiche est fixé une fois pour toute, au moment de la création de son code source (c’est-à-dire au moment de sa description à l’aide d’un langage à balises comme HTML, par exemple). Dans ce cas, pour modifier le contenu affiché par la page et/ou son comportement, il faut modifier le code source de description de la page. Les pages des sites statiques sont hébergées telles quelles sur les serveurs : dans le cas d’une page statique, ce que le serveur héberge, c’est le code source de la page (ceci n’est pas le cas pour les autres types de sites vus plus bas). Ces pages statiques sont chargées, traduites et visualisées par le navigateur. Le serveur http qui s’exécute sur le serveur hébergeant le site a pour seul travail d’envoyer la description des pages Web dont les internautes demandent la visualisation en indiquant leurs URL. Les pages de ce type de site peuvent être : • sans animation (aucun mouvement sur la page). Ces pages sont essentiellement composées de texte, photos, tableaux... mais rien n’y bouge ; • animées (des petits gugus qui rigolent, des extraits de dessins animés, de la musique, un calendrier qui s’affiche, etc.). Ces animations sont provoquées notamment à l’aide du langage DHTML (le D signifie Dynamic), mais également par l’exécution des programmes envoyés en même temps que le code source de la page, programmes que le navigateur est capable d’exécuter sur la machine de l’internaute. Pour développer un site statique, différentes techniques sont utilisables, ne nécessitant pas toutes forcément des compétences en programmation. 8 3950 TG PA 00 12 Séquence 1 Présentation générale de la POW 1B. Les sites dynamiques Un site dynamique est un site comportant des pages dynamiques. Une page est dite dynamique quand sa description (c’est-à-dire son code source) est produite au moment où l’internaute demande à la visualiser (en ayant indiqué son URL). Exemple de site dynamique : un site de consultation de la météo. Ben oui, la météo, ça change tout le temps, donc, un site statique (c’est-à-dire un site contenant des pages dont le contenu est fixe), ne convient pas. En effet, vous n’imaginez quand-même pas que tout au long de toutes les journées de l’année, il y a un pauvre informaticien, titulaire du BTS IG, qui modifie (avec ses pauvres petits doigts pleins de crampes à force de taper au clavier) la description des pages, et ce, à chaque changement de température ou à chaque fois qu’il se met à pleuvoir quelque part. Non, là, il s’agit d’un site dynamique : le code source des pages est construit au moment où l’internaute demande à les visualiser. C’est-à-dire que le code source d’une page (celui qui est envoyé à la machine de l’internaute) est généré par un logiciel installé sur le serveur hébergeant le site, au moment où l’internaute demande à visualiser cette page en ayant tapé son URL dans la barre de son navigateur. Ce logiciel, appelé intepréteur de scripts, a pour rôle de construire le code source d’une page en exécutant le fichier de script correspondant à cette page. Les instructions contenues dans ce fichier de script permettent de générer le code source de la page. Exemples d’interpréteurs de fichiers de script : un serveur Apache (interprète les fichiers de scripts écrits à l’aide du langage PhP), un serveur IIS (interprète les fichiers de scripts écrits à l’aide du langage ASP). Attention, ici, le terme serveur est à prendre au sens logiciel, comme pour le serveur HTTP. Il ne s’agit pas d’une machine. Dans ce contexte là, les logiciels serveurs sont des logiciels exécutant des services à la demande d’autres logiciels. Un fichier de script est une suite d’instructions dans un certain langage de programmation : c’est un programme, mais qui n’est pas compilé (c’est-à-dire que ce n’est pas un fichier exécutable). Interpréter un fichier de script, c’est comme exécuter un programme sauf que dans le cas des fichiers de script, les lignes d’instructions sont interprétées puis exécutées les unes après les autres, ce qui n’est pas le cas des programmes compilés (les programmes écrits par exemple avec Windev sont compilés, ce sont donc des exécutables). Le fichier de script correspondant à une page contient à la fois des informations sur la description HTML (ou DHTML, ou XML) de la page, et des instructions écrites dans un langage de script pour serveur, ces instructions concernant généralement l’acquisition des informations variables que la page affiche. Bon, le HTML (ou DHTML, ou XML) et les instructions écrites en langage de script pour serveur ne sont quand même pas rangées n’importe comment dans le fichier de script, mais, pour une page, elles sont généralement mélangées à l’intérieur du même fichier de script. 8 3950 TG PA 00 13 Séquence 1 Présentation générale de la POW Pour construire le code source d’une page dynamique, l’interpréteur de script « exécute » le fichier de script permettant de générer le code source de la page. Lors de cette interprétation, l’interpréteur de fichier de script combine la description HTML (ou DHTML, ou XML) de la page avec des données. L’interpréteur de fichier de script extrait généralement les données, qui représentent la partie variable de la page, dans une base de données, à l’aide des instructions écrites en langage de script et de requêtes SQL. Dans ce cas, ce qui est hébergé sur le serveur, ce n’est pas le code source de la page, c’est le code source du programme destiné à créer la page, c’est-à-dire le fichier de script correspondant à la page. Un exemple simple : si maPage est une page dynamique, le fichier de script permettant de générer maPage s’appellera maPage.PhP si le langage de script utilisé est le langage PhP, ou bien maPage.asp, si le langage de script utilisé est le langage ASP. Au cours de l’interprétation du fichier de script, le code source de la page (c’est-à-dire sa description dans un langage à balises) est généré. Une fois que la description de la page a été générée, cette description est transmise au serveur http, qui, comme pour les pages statiques, envoie ce code source au navigateur, qui lui-même traduit et affiche la page. Pour mettre en œuvre cette architecture, il faut des compétences en programmation. En effet, les programmes qui permettent de produire dynamiquement les pages Web demandées par l’internaute, accèdent à la base de données et construisent le code source de la page le font à l’aide d’instructions écrites dans divers langages de programmation (comme le très connu PhP). En bref, les interpréteurs de scripts pour serveurs sont des programmes sachant produire dynamiquement du code HTML à partir de fichiers de script. Ils savent exécuter (ou plutôt, interpréter) les instructions contenues dans le fichier de script d’une page pour produire le contenu de cette page en rajoutant certaines informations variables à afficher dans la page produite (ces informations sont généralement extraites d’une base de données, mais pas toujours), ils savent aussi interpréter les balises (écrites dans un langage à balise comme HTML) contenues dans le fichier de script pour mettre en forme ces informations dans la page. Donc, dans ce cas, pour modifier le contenu affiché par une page, on ne modifie pas sa description, ni le programme destiné à générer son code source, mais on modifie le contenu de la base de données utilisée. Pour développer des sites dynamiques, il existe plusieurs solutions techniques (on peut, pour un site, utiliser en même temps ces différentes solutions), nécessitant toutes des compétences en programmation. C’est là que vous comprenez pourquoi il vaut mieux avoir bien avancé dans le cours de teck... euh, de base de données, et dans le cours d’algo/programmation, pour pouvoir développer des sites dynamiques (on le fera dans le fascicule 2 de POW, que vous recevrez dans votre « petit paquet » de cours de deuxième année). 8 3950 TG PA 00 14 Séquence 1 Présentation générale de la POW Les sites dynamiques, bien que plus élaborés que les sites statiques, restent malgré tout des sites de présentation, même si ce qu’ils présentent est variable dans le temps. Cela signifie qu’un site dynamique ne sait pas, pour construire une page, prendre en compte les interventions de l’internaute, comme la saisie d’une information, un choix spécifique, etc. Les sites sachant prendre en compte les interventions de l’internaute sont appelés des applications Web. Nous allons voir ci-dessous quelles sont leurs caractéristiques. 1C. Les applications Web 1C1. Présentation Les applications Web sont des sites dynamiques qui savent, en plus des sites dynamiques de présentation, prendre en compte certaines informations saisies dans des formulaires par l’internaute (recherche, commande de produits...). Une application Web offre donc à l’internaute des services autres que ceux d’un site de présentation, qu’il soit statique ou dynamique : recherches, formulaires de saisie, achat en ligne... Le contenu des pages d’une application Web dépend en partie des interventions de l’internaute. Exemple : lorsqu’un internaute fait une recherche dans un moteur de recherche, il (ou elle) commence par se connecter sur la page d’accueil du moteur de recherche. Ensuite, l’internaute tape les mots relatifs à sa recherche, dans une zone de saisie réservée à cet effet, puis valide sa recherche. À ce moment, les informations que l’internaute a tapées sont envoyées, le couple « serveur HTTP + interpréteur de scripts » récupère ces informations, effectue la recherche demandée, récupère les résultats de la recherche. Ensuite, en interprétant un script, il « mélange », comme pour un site dynamique, les résultats de la recherche et la description de la page qui doit contenir les résultats. Cela donne la description d’une page Web contenant ces résultats. Le serveur http renvoie cette description au poste de l’internaute. Le navigateur de l’internaute n’a plus qu’à traduire cette description pour visualiser la page. Vous voyez bien que la description de la page reçue dépend bien des informations que l’utilisateur a tapées au préalable. C’est pourquoi la description de ce type de pages doit être construite dynamiquement. Comme les sites dynamiques, les applications Web puisent les informations dans des bases de données, mais la différence, c’est que, pour un site dynamique, il n’y a pas prise en compte de saisies de l’internaute, alors que pour une application Web, si. La saisie éventuelle d’informations par l’internaute ne modifie pas le code de description des pages dynamiques, mais seulement éventuellement la base de données utilisée pour construire les pages dynamiques. 8 3950 TG PA 00 15 Séquence 1 Présentation générale de la POW Donc, une application Web, c’est comme un site dynamique, sauf qu’en plus, ça sait prendre en compte les interventions de l’internaute. Pour développer une application Web, il faut aussi des compétences en programmation, et différentes techniques sont à notre disposition. 1C2. Les différents modèles d’architecture d’applications Web Quelle que soit la technologie utilisée, selon l’architecture logicielle déployée, c’est-à-dire selon la façon dont les traitements ont été répartis entre le client Web (le navigateur du poste de l’internaute) et le serveur (la machine qui héberge le site), on utilise un certain vocabulaire pour qualifier la partie cliente (c’est-à-dire la partie se situant sur le poste de l’internaute) et le modèle d’architecture logicielle utilisé. • Premier modèle d’architecture : on dit du client qu’il est un client léger si c’est le serveur qui exécute tous les traitements significatifs (on dit « toute la logique métier ») relativement à l’application Web. Des petits traitements (de contrôle de cohérence, de saisie, d’affichage d’un calendrier ou d’un gadget amusant...) peuvent être exécutés par le poste de l’internaute, mais ces traitements ne concernent pas le thème de l’application. Exemple : si l’application Web est une application permettant de commander des articles sur un site de commerce en ligne, les petits traitements exécutés par le client léger ne concernent en rien la constitution de la commande passée par l’internaute. Ce modèle est à utiliser lorsqu’on ne sait rien de la configuration du poste de l’internaute. • Second modèle d’architecture : le client est dit client lourd lorsque le poste de l’internaute exécute des traitements assez significatifs (dans ce cas, une partie de « la logique métier » est exécutée par le poste client). Exemple : le calendrier qui s’affiche dans la page ne propose que les jours où le magasin est ouvert, le calcul du total de la commande saisie par l’internaute est effectué par le poste client… Ce modèle d’architecture est à utiliser lorsque la configuration des postes client est connue (par exemple, on sait que le navigateur de l’internaute est configuré pour permettre aux applets java, des petits programmes spécifiques, de s’exécuter). • Troisième modèle d’architecture : on parle de livraison Web lorsqu’il y a une réelle répartition des traitements entre le poste client et le serveur. les objets utilisés pour développer la partie cliente communiquent avec les objets utilisés pour développer la partie serveur, en utilisant éventuellement d’autres protocoles que HTTP (Hyper Text Transfert Protocole), le protocole de transport des pages Web (exemple d’autres protocoles : le protocole SOAP, un protocole standard destiné aux services Web, lancé par IBM et Microsoft, et qui permet d’utiliser des applications invoquées à distance via Internet). Cette solution d’architecture est adaptée aux intranets ou à la mise en œuvre de services Web (en anglais, on dit « Web services », prononcer « ouèbe seuvissise »). C’est quoi un service Web ? En gros, c’est un logiciel (ou plutôt une partie de logiciel) qu’un autre logiciel peut appeler à distance via Internet (un peu comme une procédure ou une fonction qui serait hébergée sur un site au Canada et qu’un programme appelle depuis une machine située dans la Vosge profonde). Nous n’aborderons pas, dans ce support, ce troisième modèle d’architecture qui nécessite une infrastructure matérielle et logicielle, ainsi que des compétences, à mon goût trop complexes. 8 3950 TG PA 00 16 Séquence 1 Présentation générale de la POW En outre, ce 3e modèle d’architecture peut être utilisé pour concevoir des applications qui ne sont pas des sites Web : on peut très bien concevoir une application de gestion des payes tournant sur un poste dans une entreprise de Trifouillis-les-Oies, application qui appelle en invoquant le protocole SOAP (le protocole utilisé pour appeler les Web services) des fonctions de calcul hébergées sur un serveur au Nebraska, sans que cette application de gestion soit un site Web. Ceci sort donc du cadre de ce support. Ce qui différencie ici les différents modèles d’architecture, ce ne sont pas les technologies utilisées, mais la répartition des traitements significatifs (« la logique métier ») entre les postes clients et le serveur. Nous allons aborder maintenant l’aspect technique de la POW. C’est-à-dire que nous allons recenser les différents outils et techniques existants sur le marché et permettant de concevoir les différentes catégories de sites Web vus ci-dessus. 2. Les outils techniques Il existe tout un tas d’outils techniques (langages, environnements de développement, etc.) permettant de créer des sites ou des applications Web. Chacun de ces outils et techniques permet plus ou moins de créer soit des sites (statiques ou dynamiques), soit des applications Web. Je vous présente quelques-uns de ces outils et techniques. Je m’efforcerai de vous préciser ce que chaque outil technique permet ou ne permet pas de faire. 2A. Les langages de description de pages Web et leurs acolytes Ce sont les langages à balises dont j’ai déjà parlé plus haut. Je citerai à nouveau les 4 principaux langages à balises : HTML, DHTML, XML et XHTML. Utilisés seuls (c’est-à-dire sans autre langage), ils permettent de développer des sites statiques. Les pages Web, pour pouvoir être visualisées par un navigateur, doivent être décrites dans un de ces langages, même si elles sont générées automatiquement par un interpréteur de scripts pour serveur. Les pages décrites dans tous ces langages sont transportées à l’aide du protocole HTTP. 2A1. HTML, le langage de base de description de pages Web HTML signifie Hyper Text Markup Language. Il s’agit d’un langage qui décrit sous forme de balises la manière dont les informations doivent être visualisées dans le navigateur. La description d’une page Web qui utilise le langage HTML est stockée dans un fichier d’extension .htm ou .html. Pour décrire des pages Web à l’aide du langage HTML, on peut : • Soit utiliser un logiciel comme Frontpage, Webexpert, dreamWeaver ou autre, permettant de construire les pages Web sans même connaître le langage HTML. Ces logiciels sont des éditeurs de pages Web capables de produire du code HTML à partir de la conception graphique des pages. On n’a pas besoin de connaître la programmation pour faire ça. Ça, on ne va pas le faire, car vous n’avez pas besoin de moi. Rien ne vous empêche de vous y mettre seul en utilisant les sujets de TP proposés pour ce support. 8 3950 TG PA 00 17 Séquence 1 Présentation générale de la POW Dans ce support, je ne veux pas consacrer ni trop de pages, ni trop de temps, à vous apprendre à utiliser différents environnements de développement orientés Web. Nous nous contenterons donc d’utiliser un simple éditeur de texte (comme notepad par exemple), dans lequel nous taperons le code source. Mais rien ne vous empêche de faire l’acquisition d’un logiciel de conception de sites Web (gratuit ou payant). Dans ce cas je vous conseille l’éditeur hapedit, il est simple et gratuit). • Soit taper la description en HTML depuis un éditeur de texte, enregistrer le texte tapé dans un fichier d’extension .html. Ce fichier sera visualisé par notre navigateur sous forme d’une page Web. C’est ce que l’on va faire, lon la, lon lère. 2A2. Le DHTML, pour mettre un peu de vie dans nos pages DHTML signifie Dynamic HTML. Ce langage est du HTML enrichi. Les éléments supplémentaires présents dans ce langage permettent d’enrichir la description des pages d’un site statique, histoire de l’animer un peu, le site. En fait, et pour vous dire la vérité, DHTML n’est pas un langage en soi, mais la conjugaison de 3 langages complémentaires : • le HTML, dont je viens de vous parler et auquel vous vous initierez à la séquence 2 ; • le javascript, un langage de script client, qui fait l’objet d’une bonne grosse initiation dans la séquence 3 de ce fascicule ; • CSS, un langage permettant de définir des styles applicables aux pages, que l’on verra dans le support servi en 2e année. 2A3. XML, le père de tous les langages de description de pages Web Même si je vous en présente un nombre restreint, il existe tout un tas de langages du même type qu’HTML, c’est-à-dire utilisant des balises pour décrire la structure et le contenu des pages Web (exemple : MathML, SGML, etc.). Parmi eux, XML, un des plus récents, est un langage permettant de créer des langages comme HTML. C’est pour ça que je dis que c’est le père de tous les langages à balises, mais c’est idiot ce que je dis, puisque XML est un des plus récents parmi ces langages, mais quand même, on peut dire que conceptuellement, c’est leur père, à tous les langages à balises. Contrairement à HTML, XML permet de créer de nouvelles balises. Alors qu’HTML précise comment les éléments d’une page sont présentés, XML définit ce que contiendront les pages. Mais XML, c’est bien plus qu’un simple langage de description de pages Web. Depuis 1997, XML est devenu la norme en matière de format de documents échangés via le net. Résultat : XML est au centre d’un fourmillement de nouvelles techniques, de nouveaux outils et de nouveaux langages. Il existe des bases de données qui savent stocker des documents au format XML, il existe des langages de programmation permettant d’accéder au contenu de documents XML (exemple : Xquery, un peu l’équivalent du SQL, mais pour les documents XML), il existe des outils de création de style pour les documents XML, etc. On fera un peu de XML dans le support servi en 2e année. 8 3950 TG PA 00 18 Séquence 1 Présentation générale de la POW 2A4. Donner du style à nos pages avec CSS Je viens de vous le dire en vous présentant sommairement DHTML, le langage CSS permet de créer un style de page Web, et d’utiliser ce style dans toutes les pages que l’on veut. L’avantage de ce type de langage ? On crée un style, et on l’applique à toutes nos pages, ce qui nous évite de refaire le travail pour chaque page. 2B. Utilisation de programmes s’exécutant sur le poste client Lorsqu’on développe un site statique, on peut vouloir enrichir, animer son comportement. Il se peut que HTML ne suffise pas toujours, auquel cas, le développeur du site utilise des langages de programmation pour écrire des petits morceaux de programmes qui seront exécutés par le navigateur. D’autre part, lorsque l’on développe un site dynamique ou une application Web, on peut vouloir donner une partie du travail à faire au poste de l’internaute. Par exemple, si on propose à l’internaute une page contenant des zones où il doit saisir des informations, et que parmi ces zones, certaines doivent être obligatoirement renseignées, on a deux solutions, une futée, l’autre moins. • La soluce pas très futée futée : contrôler si l’internaute a bien renseigné les zones obligatoires au moment où le formulaire rempli arrive sur le serveur. Pourquoi c’est pas futé ? Parce que tout d’abord, on donne au serveur un travail supplémentaire à faire, travail qui pourrait tout à fait être effectué par le navigateur du poste client. Ensuite, parce que si jamais l’internaute n’a pas renseigné certaines zones obligatoires, il faut que le formulaire lui soit renvoyé pour être complété, puis à nouveau renvoyé, puis recontrôlé... ce qui rallonge considérablement le temps de traitement. • La soluce futée : contrôler directement depuis le navigateur de l’internaute si toutes les données obligatoires ont bien été saisies, à l’aide de programmes s’exécutant sur le poste client. Dans ces deux cas (enrichissement de site statique et délégation d’une partie du travail d’un site dynamique ou d’une application Web), on doit écrire des programmes qui s’exécuteront sur le poste de l’internaute. D’où viennent ces traitements ? Il existe plusieurs solutions dont certaines sont décrites ci-dessous. Encore une fois, la liste ci-dessous n’est pas complète. Je me suis efforcée de présenter les solutions les plus connues. 8 3950 TG PA 00 19 Séquence 1 Présentation générale de la POW 2B1. Utilisation de scripts clients Dans le cas de l’utilisation de scripts clients, les traitements sont intégrés à la description de la page envoyée. Il s’agit, dans ce cas, de scripts (écrits dans un langage de script), intégrés au code source de la page, et qui sont exécutés par le navigateur de l’internaute. Le développeur (c’est-à-dire vous !) écrit, par exemple en javascript ou VBscript, des morceaux de programmes appelés scripts, intégrés dans le code HTML décrivant la page, et traduits par le navigateur avant visualisation. Donc, pour créer ce type de site, on utilise du langage HTML et un langage de script client. Nous, on va faire du javascript, car tous les navigateurs savent décoder ce langage de script. Par contre, nous ne verrons pas VBScript, car seul Internet Explorer sait le traduire. 2B2. Utilisation d’applets Le code exécutable de ces traitements n’est pas intégré au code source de la page envoyée. Il est envoyé au poste de l’internaute par le serveur HTTP, en même temps que la description HTML de la page. Ces programmes sont écrits généralement en langage java, mais aussi maintenant en langage C#, le langage de programmation de la plateforme .Net (pour faire « classe », prononcer « DotNet »). On les appelle des applets, pour APPlication Light WEighT (en français, il faut dire Appliquette... Non !! C’est pas une blague, c’est bien comme ça qu’il faut dire en français !!). Ce sont des petits programmes compilés. Ils servent à améliorer les fonctionnalités de la page chargée. Ils sont chargés en même temps que la page, sont stockés temporairement sur la machine de l’internaute et ont une durée d’existence limitée. Ils sont automatiquement supprimés à la fin de l’échange entre le poste client et le serveur (on dit « à la fin de la session »), et sont supprimés de la mémoire de la machine à la fermeture de la page. L’exécution de ces traitements par le navigateur de l’internaute nécessite que le navigateur soit configuré de manière à savoir exécuter les applets. Nous n’écrirons pas d’applets dans ce support. 2B3. La troisième solution : les plug-in Ces programmes ont été automatiquement téléchargés sur le poste de l’internaute lorsque celui-ci en a eu besoin pour la première fois, et se sont installés définitivement sur la machine de l’internaute. Il permettent généralement de manipuler (visualiser, écouter…) certains éléments de la page téléchargée. La prochaine fois que l’internaute aura besoin du plug-in, il ne sera pas téléchargé à nouveau, sauf si la version dont dispose le serveur est plus récente que celle dont dispose l’internaute. Exemple : shockWave de Macromédia. Ce support de cours ne vous apprendra pas à écrire des plug-in. 8 3950 TG PA 00 20 Séquence 1 Présentation générale de la POW 2B4. Utilisation de cookies Ce terme de cookie, outre le fait de désigner de délicieux gâteaux, très faciles à faire (voir recette de ma copine Véro ci-dessous), désigne, en info(rmatique), un petit fichier qui contient des informations particulières. Ce petit fichier est un « témoin de connexion ». La taille d’un cookie ne peut pas dépasser 4 Ko. Il est envoyé sur la machine de l’internaute, souvent à son insu (on peut aussi dire « à l’insu de son plein gré » je crois), par le site qu’il consulte. Tout internaute peut paramétrer son navigateur pour accepter ou non les cookies. Si le navigateur de l’internaute est paramétré pour les accepter, les cookies sont stockés sur le disque dur de l’internaute et non sur le serveur hébergeant le site consulté. Ce petit fichier contient des informations sur la nature de la « relation » que l’internaute entretient avec le site consulté. Le rôle des cookies est de faciliter la navigation sur la TAM (Toile d’Araignée Mondiale). Exemples d’utilisation de cookies • Pour identifier l’internaute plus rapidement, ce qui lui fait gagner du temps, à l’internaute. Le cookie contient des informations qui doivent normalement être saisies par l’internaute lors de sa connexion au site. La présence du cookie sur le poste de l’internaute lui évite de ressaisir ces informations. Il les a saisies la première fois qu’il a consulté le site, un cookie a été créé, et maintenant, quand il consulte à nouveau ce site, les informations contenues dans le cookie sont utilisées, il n’a donc plus à les saisir. • Pour personnaliser la relation entre l’internaute et le site, c’est-à-dire mieux connaître l’internaute et lui proposer des produits personnalisés. Exemple : une librairie en ligne qui va cibler ce qu’elle propose à l’internaute en fonction des informations contenues dans le cookie (ce qui suppose que l’internaute s’est déjà connecté au moins une fois à cette librairie en ligne, et que lors de cette première visite, le site a « observé » ce que faisait l’internaute, constitué un cookie et envoyé ce cookie sur le poste de l’internaute). • Pour gérer son « caddy » sur un site marchand. • Pour éviter à l’internaute de saisir identifiant et mot de passe lors de chaque accès à un site. • Pour transmettre des informations saisies par l’internaute d’une page à une autre d’un même site, ce qui évite à l’internaute de ressaisir ces informations et permet de personnaliser les pages . Les cookies ne peuvent contenir que des informations saisies par l’internaute, ou des informations comme la configuration de sa machine par exemple. Ils ne permettent pas d’espionner le contenu de l’ordinateur de l’internaute. Certains sites ne peuvent fonctionner qu’en les utilisant. Les cookies ne sont pas tous détruits en fin de session, c’est pourquoi il faut songer à faire le ménage de temps en temps. 8 3950 TG PA 00 21 Séquence 1 Présentation générale de la POW Techniquement, comment ça marche ? Vous savez déjà que quand on « surfe » sur l’Internet, c’est le protocole http qui est utilisé. Quand on clique sur un lien hypertexte, notre navigateur (Internet Explorer, Netscape Navigator, etc.) envoie une requête http à un serveur Internet, lui demandant la page spécifiée. Le serveur HTTP retourne une réponse http contenant la page demandée. Les cookies transitent par le biais de ces échanges, en s’introduisant dans les entêtes des requêtes et des réponses http. Quand on consulte un site, le navigateur lance une requête http pour chaque page que l’on souhaite afficher. Chaque requête http est indépendante des autres. Le serveur Internet n’a donc pas la possibilité de savoir que c’est une seule et même personne qui demande l’affichage de ces différentes pages. Un exemple tout bête : imaginez un site commercial qui propose un catalogue et qui permet de passer des commandes en ligne. L’internaute (et dans ce cas, souvent, l’internautesse...) se balade sur les différentes pages du catalogue en ligne et sélectionne, souvent par un clic, les produits qu’il (elle) souhaite commander. Les produits sont rajoutés au panier. Puis l’internaute(sse) valide sa commande sur une page spéciale également destinée au règlement de sa commande. Si ce site n’utilisait pas, par exemple, les cookies, l’internaute(sse) devrait ressaisir sur cette page, les références des articles qu’il ou elle a sélectionnées dans les pages du catalogue. En effet, les pages étant, pour le serveur Internet, indépendantes les unes des autres, à chaque changement de page, les informations de la page précédente seraient perdues (exemple : les articles retenus par cet(te) internaute(sse) sur la page précédente). Dans le cas d’un site commercial, le cookie déposé sur le disque dur de l’internaute contient, entre autre, un identifiant, c’est-à-dire un code unique attribué à l’internaute. Quand l’internaute sélectionne, dans une page, un article qu’il souhaite commander, le serveur enregistre la référence de l’article ainsi que la quantité souhaitée et y associe l’identifiant qu’il va récupérer dans le cookie déposé sur le disque dur de l’internaute. Le serveur est donc en mesure de savoir à tout instant quels articles ont été commandés par l’internaute, même après que celui-ci ait quitté les pages des produits qu’il a commandés. Les cookies ne sont pas le seul moyen technique de conserver ces informations, mais ils sont un moyen simple de le faire. Pour améliorer l’ergonomie de la navigation, les sites utilisent donc les cookies. Où les cookies se cachent-ils ? Sur la machine de l’internaute, l’emplacement du dossier ou du fichier contenant ces témoins de connexion varie selon les versions de système d’exploitation et de navigateur présentes sur la machine de l’internaute. Exemple : si le navigateur de l’internaute est Internet Explorer, les cookies sont stockés dans un dossier cookies, situé à des endroits différents selon le système d’exploitation. Avec Netscape Navigator, les cookies sont dans un fichier cookies.txt. 8 3950 TG PA 00 22 Séquence 1 Présentation générale de la POW Quelles sont les informations contenues dans un cookie ? Un cookie est un fichier qui contient des informations de type texte (que l’on peut donc afficher dans tout éditeur de texte). Le cookie contient : • un nom. C’est le nom de la valeur qui est associée au cookie ; • une valeur. C’est la valeur de l’information associée au cookie. Remarque : seuls le nom et la valeur sont obligatoirement renseignés lors de la création d’un cookie. Les informations ci-dessous sont optionnelles, mais parfois bien utiles : • une date d’expiration. Cette information indique jusqu’à quelle date le cookie peut être utilisé. Au-delà de cette date, le cookie sera effacé. Si la date d’expiration n’est pas renseignée, il sera supprimé de la machine de l’internaute dès la fin de la session Internet, c’est-à-dire dès la fermeture du navigateur ; • un domaine. Cette information indique le domaine pour lequel le cookie est valable (exemple : http://www.mondomaine.fr). Si le domaine n’est pas renseigné, c’est celui du serveur hébergeant le document qui a créé le cookie qui sera retenu ; • un chemin. Cette information indique la partie de l’URL pour laquelle le cookie est valable (exemple : http://www.mondomaine.fr/monsite/). Si le chemin n’est pas renseigné, c’est celui du document qui a créé le cookie qui sera retenu ; • un attribut de sécurité. Cette information indique si le cookie peut ou non être transmis lors d’une connexion non sécurisée. Pour en savoir plus • Vous pouvez télécharger l’utilitaire FireFox, pour observer le contenu des cookies se trouvant sur votre machine. • Sur le site de la CNIL (Commission nationale de l’informatique et des libertés), vous pouvez consulter cette page spéciale « cookies » : http://www.cnil.fr/traces/comment/cooki.htm. • Sur le site de l’ATICA (l’Agence pour les technologies de l’information et de la communication dans l’administration), vous trouverez la description technique du fonctionnement des cookies : http://www.atica.pm.gouv.fr/dossiers/documents/cookies.shtml. • D’autres explications sur le site CommentÇaMarche : http://www.commentcamarche.net/securite/cookies.php3. • Et aussi sur : http://www.linternaute.com/surfer/cookie/cookiesomm.shtml. http://www.linternaute.com/surfer/cookie/cookiestrat.shtml. • Jean-Claude Bellamy propose sur son site un petit utilitaire (seulement pour Internet Explorer) qui rajoute dans le menu contextuel une commande « voir les cookies » qui affiche dans une page Internet le contenu de l’éventuel cookie : http://www.bellamyjc.net/doWnload/cookieinst.exe. • Un dernier lien : http://www.tactika.com/cookie/. 8 3950 TG PA 00 23 Séquence 1 Présentation générale de la POW Est-ce qu’on va faire des cookies ? Oui. On va en créer dès la séquence 3 de ce fascicule. Vous verrez, c’est très simple. On utilise des instructions javascript prévues pour créer et consulter des cookies, et hop, le tour est joué. Et puis on va en faire aussi, des qui sentent bon. On peut y mettre des raisins, des pépites de chocolat, des petits morceaux de fruits secs… bon, les raisins, notre navigateur n’aime pas trop, mais nous, si… 2B5. Recette des cookies C’est la recette de ma copine Véro. Vous verrez, ils sont délicieux, et très facile à faire. Mélanger : 350 grammes de farine, 250 grammes de sucre, 1 pincée de sel, 1⁄2 sachet de levure chimique. Ajouter : 1 œuf, 200 grammes de beurre fondu, 1 sachet de sucre vanillé, du lait si la pâte est trop épaisse Éventuellement : rajouter des pépites de chocolat, des noisettes, des amandes, du nougat coupé en petits morceaux etc. Remarque importante : ne pas mettre dans la pâte de morceaux de denrées non comestibles comme des vis, des composants électroniques, ou du fil électrique. Bien mélanger le tout. Prélever avec une cuillère à soupe la quantité de pâte pour un cookie, déposer cette pâte sur la plaque du four, lui donner une forme ronde et l’aplatir un peu (en clair : ne pas taper dessus comme un forcené, mais l’aplatir délicatement avec le dos de la cuiller). Recommencer jusqu’à ce que la plaque soit pleine (moi, je mets 12 cookies par plaque). Cuire à four chaud pendant 10 minutes (thermostat 7 ou 8 = 210 °). Recommencer jusqu’à ce que vous ayez utilisé toute la pâte, sauf si vous préférez jeter la pâte qui reste, mais ça, c’est vous qui voyez. 8 3950 TG PA 00 24 Séquence 1 Présentation générale de la POW 2C. Utilisation de programmes s’exécutant sur le serveur Cette technique permet de développer des applications Web, des sites dynamiques, mais également, si on est maso et qu’on adore faire compliqué quand on peut faire simple, des sites statiques. Encore une fois, il existe plusieurs solutions et je ne présente ci-dessous qu’une partie d’entre elles. 2C1. Utilisation de langages de script pour serveur Actuellement, les langages les plus utilisés sont les deux langages de script suivants : • PhP (Personal Home Page), langage créé en 1994 par Rasmus Lerdoft, c’est une solution faisant partie du monde des logiciels libres ; • ASP (Active Server Pages), langage de script développé par Microsoft, c’est une solution faisant partie du monde des logiciels commerciaux, mais il y a moyen de l’utiliser gratuitement. Comment ça fonctionne avec des langages de script pour serveurs ? On en a déjà parlé dans le paragraphe 1B. sur les sites dynamiques, mais ce n’est pas du luxe d’expliquer une seconde fois. L’internaute saisit l’URL de la page dynamique, hébergée sur un serveur. La description de la page, sur le serveur, contient des instructions écrites dans un langage de script pour serveur. Ces instructions se trouvent dans le code HTML de la page. Ces instructions ont pour rôle de construire dynamiquement la description de la page entièrement en langage HTML, c’est cette description en code HTML qui sera envoyée au navigateur de l’internaute. Le serveur Web (c’est-à-dire le serveur http) hébergeant la page détecte la demande de visualisation d’une page dynamique avec script. Il envoie la page à l’interpréteur de script correspondant à l’extension de la page. Exemple : le serveur enverra la page au logiciel apache (c’est l’interpréteur de scripts PhP) si la description de la page dynamique possède l’extension php. L’extension PhP signifie que la partie dynamique de cette page est décrite à l’aide d’instructions écrites en PhP. L’interpréteur interprète les instructions PhP, qui concernent généralement l’accès à une base de données qui contient les informations variables de la page dynamique, ou bien la prise en compte des saisies effectuées par l’internaute. Il traduit tout ça en HTML : il convertit en langage HTML le résultat d’exécution des instructions écrites en langage de script, en prenant en compte les informations éventuellement saisies par l’utilisateur et/ou puisées dans une base de données. L’interpréteur retransmet le code HTML de la page au serveur http, qui la transmet au navigateur de l’internaute. Le navigateur de l’internaute visualise la page HTML reçue. Et voilà, super fastoche ! 8 3950 TG PA 00 25 Séquence 1 Présentation générale de la POW 2C2. Utilisation de l’interface CGI L’interface CGI (Common GateWay Interface) est un logiciel spécialisé qui permet au navigateur (se trouvant sur le poste de l’utilisateur) de demander à un serveur distant de lancer un programme exécutable se trouvant sur le serveur lui-même. Le serveur exécute le programme demandé, traduit le résultat d’exécution du programme en une page HTML qu’il envoie au navigateur du poste client (le poste de l’utilisateur). On dit que le résultat d’exécution du programme est traduit « à la volée », et c’est pour cela que la page HTML qui en résulte est dite « dynamique ». L’URL saisie par l’utilisateur pointe en fait sur un programme exécutable (d’extension .exe) écrit dans un langage compilé (en général C, mais aussi Delphi, Windev ... ou tout autre langage permettant de créer des programmes exécutables). La différence avec les langages de scripts pour serveur est que les programmes hébergés par le serveur sont des exécutables, pas des scripts. L’autre différence est que cette interface est un standard. À part ces deux différences, on peut, avec l’interface CGI, faire tout ce qu’on fait avec les langages de script pour serveurs. Cette solution est la plus ancienne, elle souffre de lenteur. Ces lenteurs ne sont pas dues à l’âge, mais surviennent dans les cas de sollicitations très nombreuses car le programme exécuté mobilise à chaque fois des ressources importantes sur le serveur. 2D. Utiliser des plates-formes de développement Actuellement, les deux principales plates-formes permettant de développer pour le Web sont la plate-forme J2EE de l’éditeur Sun (utilisant le langage de programmation java), et la plus récente plate-forme .net (rappel : pour faire bien, ne pas dire « point net » mais « dot net »), de Microsoft dont le langage de programmation est le C# (second rappel : prononcer « C Sharp », avec l’accent, ça fait « si shôôp »). Il existe également une troisième plate-forme, très en vogue outre Atlantique : il s’agit de la plateforme zope, dont le langage de programmation est Python. Avec ces outils, on peut développer tout ce qu’on veut, du site statique à l’application Web, en passant par le site dynamique et l’application non Web (du genre : application de gestion qui tourne en local sur un poste). Par contre, je pense, encore une fois, qu’il faut être maso pour s’embêter à utiliser ces outils complexes pour développer un simple site de présentation, surtout s’il y a moyen d’utiliser un outil plus simple. Les langages de ces plates-formes (le langage java, le langage c#, le langage Python) permettent également de développer des applications non destinées au Web, comme si on utilisait un environnement de développement non spécialisé dans le développement des applications Web. 8 3950 TG PA 00 26 Séquence 1 Présentation générale de la POW Bref, on peut tout faire avec ces outils (enfin, quand je dis tout... ça ne fait pas la lessive ni le ménage hein !). C’est notamment parce qu’ils sont généralistes que ces outils s’appellent des FrameWorks (c’està-dire des plates-formes de développement), et également parce qu’ils font appel à la programmation objet et utilisent des bibliothèques d’objets (également appelées des bibliothèques de composants). Les applications sont en fait un assemblage de ces composants et le travail du développeur consiste à intégrer les composants dans une même application, en faisant en sorte, au moyen des instructions du langage, que les composants collaborent entre eux. Avec ces outils, on peut implémenter (c’est-à-dire appliquer ) le modèle MVC (Model View Controller), recommandé par le W3C pour la conception de sites dynamiques et d’applications Web. Le W3C, c’est le World Wide Web Consortium : un groupe de personnes très compétentes, chargé de pondre les normes pour le développement Web. Allez voir sur leur site (http ://www.w3c.com), si vous voulez : il y a toutes les normes concernant les langages qu’on va utiliser... et oh joie! C’est tout en anglais!). Appliquer le modèle MVC consiste à développer toute application Web en plusieurs « couches logicielles » classées par fonctionnalités : • la couche de présentation : c’est en fait ce que l’internaute voit du site Web. Cette « couche » est prise en charge par des scripts qui s’exécutent sur le poste de l’internaute (donc, des scripts clients) ; • la couche application : ce sont les traitements du site Web qui s’exécutent sur le serveur ; • la couche de contrôle : cette couche a pour rôle de contrôler l’articulation de fonctionnement entre la couche de présentation et la couche application. Ces architectures logicielles sont complexes. Mais quel est donc l’avantage de ce modèle de développement de sites Web ? Ah ça oui, on se le demande ! Et bien le graphiste (également appelé « Web designer », prononcer « ouèbe dizailleneu »), qui a été chargé de créer la couche présentation du site, peut très bien modifier sa couche présentation sans toucher au code source des traitements, puisqu’on a une séparation entre présentation et traitements. Mais on peut très bien développer un site Web avec les plateformes J2EE ou .net sans séparer la couche présentation, la couche application et la couche contrôle. Simplement, dans ce cas, on n’utilisera pas toute la puissance que permettent ces plateformes. Remarque : on peut aussi implémenter le modèle MVC avec par exemple du PHP. 2E. Et la sécurité dans tout ça ? Vous en êtes bien conscient, dès que l’internaute saisit des informations et les envoie sur la TAM (rappel : ça veut dire la Toile d’Araignée Mondiale, le Web quoi !), n’importe quel pirate (ou hacker) un peu futé peut récupérer ces informations pour en faire bon (et hélas plus souvent mauvais) usage. Toute application Web suppose donc des contrôles de sécurité. 8 3950 TG PA 00 27 Séquence 1 Présentation générale de la POW Les contrôles de sécurité concernent : • le poste client (celui de l’internaute) : il y a en effet risque de téléchargement de programmes non authentifiés (des virus par exemple, ou des espions qui scrutent le disque dur de l’internaute…) ; • l e réseau : il faut crypter certaines informations comme par exemple les numéros de cartes bancaires, afin que les méchants hackers ne puissent pas s’acheter de bonbons avec les sous qu’on a sur notre compte ; • le serveur : il y a en effet nécessité de sécuriser l’accès à certaines pages, par exemple par des mots de passe et des systèmes d’authentification. Il existe pour cela diverses solutions, comme par exemple le protocole HTTPs, un protocole sécurisé d’envoi des pages sur le Web, qui s’appuie sur SSL (Secure Socket Layer), un protocole gérant l’authentification et la confidentialité, utilisé pour les transactions financières (les paiements, virements) effectuées via Internet. Bon, j’ai à peu près fait le tour de ce dont je voulais vous parler dans cette séquence d’intro. Maintenant, il s’agit de faire. Dans ce premier fascicule, on va commencer par faire un peu de HTML, puis on fera du javascript, et pis c’est tout et c’est déjà pas si mal. Dans le fascicule 2, on abordera le reste : scripts serveurs, feuilles de style, XML, et peut-être quelques autres trucs sympas si le volume du fascicule n’est pas trop important (pas plus de 2 000 pages pour le fascicule 2, promis juré). Alors on se retrouve à la séquence 2, pour démarrer notre apprentissage de html… À tout de suite ! 8 3950 TG PA 00 28