Etude comparative JSP, ASP et PHP Réalisé par: Olfa EL AOUD Rim ABID Siwar HAMMAMI Imen TAIEB Année universitaire: 2009/2010
Plan 2 Introduction ASP JSP PHP Etude comparative entre PHP ASP et JSP Conclusion 2
Introduction (1/2) 3 Nous distinguons deux types de langages Langages de contrôle : ceux qui ne contiennent que du code propre au langage et qui généralement s’occupent du contrôle de l’application Exp: CGI (Common Gateway Interface) et Servlet Langages à balises : ceux qui sont utilisés dans le code HTML Exp : PHP, ASP, JSP … 3
Introduction (2/2) 4
Active server Pages 5
Définition Langage de programmation utilisé pour produire des pages Web interactives Introduit en 1996 par Microsoft Nécessité d’une plate-forme Windows avec IIS (Internet Information Services) installée ASP a été le premier serveur de Microsoft à base de moteur de script L'ASP est un mix entre les balises HTML et le code VBScript 6
Architecture 7
Caractéristiques (1/2) 8 ASP est 100 % Orienté Objet Non Open Source Fiable + Sécurisé ASP fait parti d’une architecture L'ASP est basé sur du Visual Basic, ce qui ne demande pas des compétences de haut-niveau Le serveur IIS est moins répandu que Apache et plus couteux mais il est très performant et réactif ASP bénéficie d'outils de développement bien conçus et gratuits : WebMatrix et Visual Web Developer Express 8
Caractéristiques (2/2) Portabilité : ASP ne tourne que sur IIS et IIS ne peut être installé que sur un serveur Windows. Efficacité : ASP bénéficie d’un framework très puissant, lui permettant aisément de manipuler l’héritage, le polymorphisme, et l’encapsulation tandis que le code généré souffre de temps d’exécution pénalisants et d’une utilisation mémoire trop importante Interaction : L’intégration aux bases de données se fait à l’aide de liens ADO (ActiveX Data Object) Faciliter la maintenance Rapidité : ASP est beaucoup plus rapide que le PHP Simplicité : plus simple que le PHP 9
Java Server Pages 10
Définition JSP (JavaServer Pages) est une extension au Servlet permettant de simplifier la génération de pages web dynamiques Langage de script simple Son but est de simplifier l’utilisation de servlets Il combine la simplicité d’utilisation d’un langage de script et les qualités identiques de Java (langage objet, développement de qualité, gestion d’exceptions) Le fichier .jsp est installé sur un serveur possédant Tomcat 11
Architecture 12
Caractéristiques JSP fait parti d’une architecture :L’interaction aux bases de données se fait à l’aide de liens JDBC (Java DataBase Connectivity) Faciliter la maintenance Moins rapide que PHP à cause du temps d’exécution de Java Fiable + Sécurisé Semblable à PHP mais la partie dynamique est écrite en java Utilisation de la Virtual Machine Java JSP demandera un serveur plus puissant avec plus de mémoire pour avoir des temps de réponses rapides 13
Personal Home Page 14
Définition 15 Inclure le code source directement dans le code HTML PHP (Personal Home Page ou Hypertext Preprocessor) est un langage de scripts libre qui s'intègre aux pages Html Réalisation des pages dynamiques à travers lesquelles l'utilisateur peut échanger des informations avec le serveur. PHP n'est pas un langage compilé, c'est un langage interprété par le serveur : le serveur lit le code PHP, le transforme et génère la page HTML Inclure le code source directement dans le code HTML Exécution sur le serveur 15
16 Fonctionnement de l’interpréteur PHP Un bloc PHP est un groupe de lignes encadré par <? php code php ?> Toute ligne située à l’extérieur de ces balises n’est pas interprétée. Un message explicatif est intégré dans le flux de sortie lors d’une erreur ce qui interrompe l’analyse du code 16
Architecture 17
Caractéristiques (1/4) Supporté par le serveur web Apache, le plus répand dans le monde (plus de 70% des serveurs web) mais fonctionne avec d'autres serveurs web comme Iplanet, IIS Permet d'exploiter facilement de très nombreuses bases de données comme Oracle, MySQL, dBase, Sybase, PostgreSQL, MSQL Reconnait l'essentiel des protocoles et formats disponibles sur Internet et intranet TCP, HTTP, SMTP, POP, XML, PDF Fortement inspiré du C et de Perl, ce qui en facilite l'apprentissage 18
Caractéristiques (2/4) Syntaxe accessible, proche du C dont les standards sont connus par les développeurs. Langage riche pour la manipulation des tableaux et des listes de variables L'accès aux bases de données est plus simple et surtout, le PHP permet d'inclure dynamiquement du code: les développeurs peuvent créer un modèle de page qui inclut des fichiers en fonction du contexte Gratuit et performant Langage de scripting, gain de temps PHP est multi-platesformes : Windows, UNIX, LINUX et MAC OS PHP (version 4 et 5) s'exécute rapidement avec une stabilité 19
Caractéristiques (3/4) Grâce à de nombreuses extensions dynamiques, PHP peut générer des fichiers PDF, s'interfacer avec des serveurs de messagerie, générer des images et graphiques à la volée, ou encore générer des animations flash. Le code source est totalement disponible contrairement à ASP L'un des points forts de PHP est l'accès à la base de données MySQL PHP est simple et rapide Facilité d ’hébergement Orienté Objet + procédural 20
Caractéristiques (4/4) 21 PHP + HTML + JAVASCRIPT + REQUËTE ENSEMBLE (-) Pas de middleware (-) Maintenance Ne fait pas parti d’une architecture contrairement à ASP et JSP Pas d’interactivité au niveau du client Trous de sécurité 21
Symfony 22 Basé sur une architecture innovante Le framework symfony est un projet Open-Source depuis plus de 3 ans. La première version officielle de symfony en Décembre 2005. 22
23 Fonctionnalités de Symfony Une séparation du code en trois couches, selon le modèle MVC Plus grande maintenabilité et évolutivité Des performances optimisées et un système de cache pour garantir des temps de réponse optimums Une gestion des url parlantes, qui permet de formater l'url d'une page indépendamment de sa position dans l'arborescence fonctionnelle Un système de configuration en cascade Le support de l'AJAX Une architecture extensible, permettant la création et l'utilisation de plugins 23
Différence 24
Différence 25
Différence 26
Hébergement 27 ASP Le plus important hébergement en Suisse Pas de choix d’hébergement que windows Moins lent que JSP Faille de windows L'hébergement Windows offre d’excellente performance (robustesse des applications Microsoft) Plus cher lors de son installation qu'un autre type d'hébergement 27
Hébergement JSP Ces hébergeurs facilitent la création des servlets et permettent une exploitation facile des JSP et des applications similaires, comme « Enterprise JavaBeans » L'hébergement web avec Tomcat permet de mettre en place des sites de gros calibre, stables et performants. 28
Hébergement PHP Utilise et supporte pleinement le langage de programmation PHP La plupart des hebergeurs web proposent des plans en utilisant la structure LAMP (Linux, système d'exploitation, Apache, un logiciel serveur, MySQL, base de données, PHP et / ou Perl, langage de programmation) 29
Sociétés et PHP 30 PHL Soft (France) DEFI SUD (Montpellier) FIDESIO (PARIS) AFUP (Association française des utilisateurs de PHP) SugarCRM (Amérique) Progress Engineering (Tunisie) Cynapsys (Tunisie) 30
Conclusion Contrairement aux pages statiques, les pages dynamiques permettent de présenter les informations de différentes manières selon l'interaction avec le visiteur. Le contenu des pages est issu d'une base de données en fonction de critères établis par l'internaute puis mis en page en temps réel. L'utilisation des pages dynamiques est plus souple pour l'évolution du site mais nécessite plus de temps de travail pour la programmation. En opposition, les pages statiques sont plus figées mais plus simples à réaliser 31
Merci de votre attention 32