PHP,ASP,JSP I. Language serveur: Un langage serveur, ou plus précisément un langage de script côté serveur est un langage de programmation qui interagit avec un serveur HTTP pour produire une page Web dynamique. L'utilisation d'un langage serveur est nécessaire pour utiliser une base de données, indispensable pour la majorité des scripts complexes. Il est le contraire d'un langage client (comme le JavaScript), qui est interprété sur l'ordinateur du visiteur. L'avantage d'un langage serveur est qu'il permet d'adapter le site à l'utilisateur d'après ses besoins, ses autorisations ou d'autres informations provenant d'une base de données, tout cela sans nécessiter le support d'une technologie supplémentaire par le client. II. Language PHP Le langage PHP est un langage interprété (un langage de script ) exécute du côté serveur et non du côté client .La syntaxe du langage provient de celles du langage C, du Perl et de Java. Il est largement utilisé pour la réalisation de sites web dynamiques. Ce langage permet de faire la plupart des applications mais il est surtout employe pour mettre des bases de donnees en ligne dans les sites web. II.1. Historique Le langage PHP est créé en 1994 par Rasmus Lerdorf pour son site Web. C'était à l'origine une bibliothèque logicielle en Perl dont il se servait pour conserver une trace des visiteurs qui venaient consulter son CV. Au fur et à mesure qu'il ajoutait de nouvelles fonctionnalités, Rasmus a transformé la bibliothèque en une implémentation en langage C, capable de communiquer avec des bases de données et de créer des applications dynamiques et simples pour le Web. Rasmus décida alors en 1995 de publier son code, pour que tout le monde puisse l'utiliser et en profiter. PHP s'appelait alors PHP/FI (pour Personal Home Page Tools/Form Interpreter). En 1997, deux étudiants, Andi Gutmans et Zeev Suraski, redéveloppèrent le cœur de PHP/FI. Ce travail aboutit un an plus tard avec Zend Engine, le nouveau cœur de PHP/FI, devenu alors PHP: Hypertext Preprocessor en version 3. En 2002, PHP est utilisé par plus de 8 millions de sites web à travers le monde ,et en 2004 par plus de 15 millions. II.2. Comment fonctionne PHP ? La consultation d’une adresse de site (URL) depuis un navigateur (client), permet au serveur de renvoyer une page. Lorsqu’il s’agit d’une page HTML, elle est renvoyée telle qu’elle a été écrite, mais l’appel d’une page PHP se passe différemment, car les scripts PHP sont exécutés directement sur le serveur, et la page renvoyée est en code HTML (voir exemple au dessous). La figure ci-dessous illustre ce mode de fonctionnement. Les requêtes clients se font à partir de fichiers HTML ou PHP (extension .php, .php3, .php4), et le serveur renvoie des pages HTML. Le langage est avant tout un langage de script (scripting). Le code inséré dans les pages HTML, est alors expédié par le serveur. Son fonctionnement est différent de celui de JavaScript, où les scripts sont exécutés par le navigateur (donc côté client), mais il est identique à celui de la technologie ASP de Microsoft. II.3. Syntaxe Pour que le serveur Web interprète le script PHP, les lignes de code PHP doivent être délimités par les expressions : < ? et ?> ou < php? et ?>. Exemples : <? ... script php ... ?> ou <php ? ... script php ... ?> Les lignes comprises entre les délimiteurs (donc les instructions) doivent être terminées par le point-virgule ";". II.4. Les principaux atouts du PHP : la gratuité et la disponibilité du code source (PHP est distribué sous licence GNU GPL) ; la simplicité d'écriture de scripts qui sont exécutés directement sur le serveur, avant l’envoi de la page à l’internaute ; la possibilité d'inclure le script PHP au sein d'une page HTML ; la simplicité d'interfaçage avec des bases de données (de nombreux SGBD sont supportés, mais le plus utilisé avec ce langage est MySQL, un SGBD gratuit disponible sur les plateformes Unix, Linux, et Windows ; la richesse fonctionnelle : PHP comporte plus de 1000 fonctions, parmi lesquelles les fonctions d’images, les protocoles Internet II.5. PHP et les moteurs de recherche Le grand inconvénient, actuellement, des sites construits complètement en PHP est le référencement des pages. Très peu de moteurs de recherche indexent un contenu au format PHP (ex. Google). Cependant, il existe plusieurs façons de contourner ce problème : soit en réalisant un site semi dynamique (dédoublement des pages), solution très lourde à mettre en place et à maintenir&nsp;; soit en utilisant des techniques d’ URL rewriting, c’est à dire un paramétrage du serveur qui permet de transcrire les URL dynamiques, contenant les caractères "?" et "&", en URL statiques ne les contenant pas. III. Language ASP Active Server Pages (ASP) est une technologie développée par Microsoft utilisée dans la programmation Web. C'est une technologie web dynamique, équivalente et concurrente de PHP. Elle nécessite pour fonctionner une plate-forme Windows avec IIS (Internet Information Services) installé, ou encore une plate-forme Linux ou Unix avec une version modifiée d'Apache. ASP n'est en réalité qu'une structure composée d'objets accessibles par deux langages principaux : le VBScript et le JScript. À l'inverse de certains langages de programmation pour ordinateur (C, C++), cette technologie n'utilise pas de langages compilés, mais des langages interprétés. III.1. Comment fonctionne ASP ? Les ASP sont intégrables au sein d'une page Web en HTML à l'aide de balises spéciales permettant au serveur Web de savoir que le code compris à l'intérieur de ces balises doit être interprété afin de renvoyer des données (généralement du code HTML) au navigateur du client. Ainsi, les Active Server Pages s'inscrivent dans une architecture 3-tiers. Ce terme compliqué signifie qu'un serveur supportant les Active Server Pages peut servir d'intermédiaire entre le navigateur du client et une base de données en permettant un accès transparent à celle-ci grâce à la technologie ADO (ActiveX Data Objects), qui fournit les éléments nécessaires à la connexion à un système de gestion de bases de données, à la manipulation des données grâce au langage SQL. III.2. Les objets de base des Active Server Pages Les Active Server Pages sont basées sur des objets manipulés par le serveur et permettant de réaliser de nombreuses applications. Les 7 objets de base sont : Application : il s'agit de l'objet représentant l'application web elle-même, c'est-à-dire un objet contenant toutes les informations partagées par les visiteurs connectés à l'application (nombre d'utilisateurs connectés simultanément, ...). ObjectContext : il permet de contrôler les éventuelles transactions avec le serveur de transaction de Microsoft (MTS, Microsoft Transaction Server). Request : cet objet sert à récupérer les informations envoyées au serveur dans la requête HTTP du client. Response : il sert à créer et à envoyer la réponse HTTP au client (le navigateur). Server : il contient les informations propres au serveur web. Session : il permet de gérer les sessions de l'utilisateur, c'est-à-dire de conserver des informations d'une page à l'autre. ASPerror : l'objet ASPerror récupère et définit les erreurs survenues lors de l'exécution de scripts ASP. IV. Language JSP Le JavaServer Pages ou JSP est une technologie basée sur Java qui permet aux développeurs de générer dynamiquement du code HTML, XML ou tout autre type de page web. La technologie permet au code Java et à certaines actions prédéfinies d'être ajoutés dans un contenu statique. Depuis la version 2.0 des spécifications, la syntaxe JSP est complètement XML. La syntaxe du JSP ajoute des balises XML, appelées actions JSP, qui peuvent être utilisées pour appeler des fonctions. De plus, la technologie permet la création de bibliothèques de balises JSP (taglib) qui agissent comme des extensions au HTML ou au XML. Les bibliothèques de balises offrent une méthode indépendante de la plate-forme pour étendre les fonctionnalités d'un serveur HTTP. Les JSP sont compilées par un compilateur JSP pour devenir des servlets Java. Un compilateur JSP peut générer un servlet Java en code source Java qui peut à son tour être compilé par le compilateur Java, ou peut générer le pseudo-code Java interprétable directement. Dans les deux cas, il est bon de comprendre comment le compilateur JSP transforme la page en servlet Java. Voir l’ exemple de page JSP fourni en fin d’article, avec le servlet généré et la page HTML résultante. IV.1. Le fonctionnement des Java Server Pages Une page utilisant les Java Server Pages est exécutée au moment de la requête par un moteur de JSP, fonctionnant généralement avec un serveur Web ou un serveur applicatif. Le modèle des JSP étant dérivé de celui des servlets (en effet les JSP sont un moyen d'écrire des servlets), celle-ci est donc une classe Java dérivant de la classe HttpServlet, et utilisant les méthodes doGet() et doPost() permettant de renvoyer une réponse par le protocole HTTP. Lorsqu'un utilisateur appelle une page JSP, le serveur Web appelle le moteur de JSP qui crée un code source Java à partir du script JSP, compile la classe afin de fournir un fichier compilé (d'extension .class), c'est-à-dire qu'il constitue en fait une servlet à partir du script JSP... En réalité ce processus est un peu plus perfectionné: le moteur de JSP vérifie si la date du fichier .jsp correspond à celle du fichier .class. Le moteur de JSP ne transforme et compile la classe que dans le cas où le script JSP a été mis à jour. Ainsi, le fait que la compilation ne se fasse que lors de la mise à jour du script JSP, fait de cette technologies une des plus rapides pour créer des pages dynamiques. En effet, la plupart des technologies de pages actives (ASP, PHP, ...) reposent sur un code interprété, ce qui requiert beaucoup de ressources pour fournir la réponse HTTP. Etant donné que les JSP sont compilées (en fait il s'agit d'un bytecode) elles sont beaucoup plus rapides à l'exécution. Actuellement seuls les scripts FastCGI (utilisant du code compilé écrit en langage C) sont plus rapides car ils ne nécessitent pas l'intervention d'une machine virtuelle pour exécuter l'application. IV.2. Caracteristiques des Java Server Pages Les JSP permettent donc d'écrire facilement des servlets, en incluant dans des balises spécifiques le code JSP au sein du fichier HTML. De cette façon, elles fournissent une technologie rapide afin de créer des pages dynamiques. De plus, les JSP étant basées sur Java côté serveur, elles possèdent toutes les caractéristiques faisant la force de Java : les JSP sont multithreadées, les JSP sont portables, les JSP sont orientées objet, les JSP sont sûres, IV.3. Variables de script standard Les variables suivantes sont toujours disponibles dans une page JSP : out Le JSPWriter utilisé pour envoyer la réponse HTTP au client. page Le servlet lui-même. pageContext Une instance PageContext qui contient les données associées à la page entière. Une page HTML donnée peut être passée entre plusieurs JSP. request Objet représentant la requête HTTP. response Objet représentant la réponse HTTP. session La session HTTP, qui peut être utilisée pour conserver de l'information à propos d'un utilisateur d'une requête à une autre. Reference: www.commentcamarche.net www.asp-php.net http://www.wikipedia.org/ www.lesjsp.com www.php.net/