Etude des principales solutions d’optimisation d’un serveur Web.

icon

66

pages

icon

Français

icon

Documents

Écrit par

Publié par

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

icon

66

pages

icon

Français

icon

Documents

Le téléchargement nécessite un accès à la bibliothèque YouScribe Tout savoir sur nos offres

Etude des principalessolutions de Templatesen PHPMise en œuvre deFastTemplate, PHPLib, VTemplate,Smarty et ModeliXeNicolas BIOTnicolas.biot@globalis-ms.comArmel FAUVEAUarmel.fauveau@globalis-ms.comGLOBALIS media systemshttp://www.globalis-ms.com21 février 2002 – Version 1.2GLOBALIS media systems25, rue Thiboumery - 75015 Paris.Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27E-mail : infos@globalis-ms.comVeille TechnologiquePage 2 - 21/02/021. INTRODUCTION ............................................................................................................. 52. DÉFINITION ................................................................................................................... 62.1 QU’EST CE QUE LES « TEMPLATES » ? .....................................................................................62.1.1 Remontons le temps ...................................................................................................62.1.2 Aujourd’hui.................................................................................................................63. PRÉSENTATION DES SOLUTIONS CHOISIES ................................................................. 83.1 FAST TEMPLATE (V.1.1.0)93.1.1 Présentation ...............................................................................................................93.1.2 Installation.103.1.3 Mise en oeuvre .................................................................................. ...
Voir icon arrow

Publié par

Nombre de lectures

106

Langue

Français

Etude des principales solutions de Templates en PHP
Mise en uvre de FastTemplate, PHPLib, VTemplate, Smarty et ModeliXe
Nicolas BIOT nicolas.biot@globalis-ms.com
Armel FAUVEAU armel.fauveau@globalis-ms.com
GLOBALIS media systems http://www.globalis-ms.com
21 février 2002  Version 1.2
GLOBALIS media systems 25, rue Thiboumery - 75015 Paris. Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27 E-mail : infos@globalis-ms.com Veille Technologique Page 2 - 21/02/02 1. INTRODUCTION ............................................................................................................. 5 2.DÉFINITION...................................................................................................................6 2.1 QUEST CE QUE LES«TEMPLATES» ? ..................................................................................... 6 2.1.1Remontonsletemps.6 2.1.2Aujourdhui.6 3. PRÉSENTATION DES SOLUTIONS CHOISIES ................................................................. 8 3.1 FASTTEMPLATE(V.1.1.0) ................................................................................................... 9 3.1.1Présentation.9 3.1.2Instalonati.01 3.1.3Miseenoeuvre.10 3.2 PHPLIB........................................................................................................................ 14 3.2.1Présentation.41 3.2.2Instalation.14 3.2.3Miseenoeuvre.51 3.3 VTEMPLATE(V. 1.1.2) ..................................................................................................... 17 3.3.1Présentation.71 3.3.2Instalation.18 3.3.3Miseenuvre.81 3.4 SMARTY(V.1.4.5) ........................................................................................................... 22 3.4.1Présentation.22 3.4.2Instalionat.23 3.4.3Miseenuvre.32 3.5 MODELIXE(BÉTA 286.6) ...................................................................................................... 3.5.1Présentation.82 3.5.2Instalnatio.29 3.5.3Miseenuvre.29 3.6 SOLUTIONS NON TESTÉES................................................................................................... 34 3.7 LE COUPLEXML/XSLT...................................................................................................... 34 4. PROTOCOLE DEXPÉRIMENTATION ............................................................................. 35 4.1 PRÉAMBULE.................................................................................................................... 35 4.2 CHOIX DE LAPPLICATION................................................................................................... 35 4.2.1Modèlephysiquedesdonnées.53 4.2.2Pagedaccueildunsitedactualitésaveclistedesarticles.36 4.2.3Listedesarticlesenbasdepage.36 4.2.4Formulairedajoutdarticle.73 4.3 PLATEFORME DE TESTS...................................................................................................... 38 4.3.1Serveur.83 4.3.2Client.83 4.3.3Réseau.38 4.3.4Outildemesure.39 5.RÉSULTATSETANALYSES............................................................................................40 5.1 PHP4 SEUL(SANS TEMPLATE)............................................................................................. 41 5.1.1ScriptA.14 5.1.2ScriptB.41 5.1.3ScriptC.41 5.1.4ScriptD.14 5.2 FASTTEMPLATES.............................................................................................................. 42 5.2.1ScriptA.24 5.2.2ScriptB.24 GLOBALIS media systems - Siège social : 75, rue de Lourmel 75015 Paris. Bureaux et correspondance : 25, rue Thiboumery 75015 Paris S.A.R.L au capital de 80.000 F - R.C.S Paris B 413 141 193 - SIRET 413 141 193 00024 - APE 741G Tel : 01.56.08.00.99/ Fax 01.56.08.09.27, Web : http://www.globalis-ms.com, E-mail : infos@globalis-ms.com
GLOBALIS media systems 25, rue Thiboumery - 75015 Paris. Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27 E-mail : infos@globalis-ms.com Veille Technologique Page 3 - 21/02/02 5.2.3ScriptC.24 5.2.4ScriptD.42 5.2.5Analysedesrésultats.34 5.3 PHPLIB........................................................................................................................ 44 5.3.1ScriptA.44 5.3.2ScriptB.44 5.3.3ScriptC.44 5.3.4ScriptD.44 5.3.5Analysedesrésultats.45 5.4 VTEMPLATES.................................................................................................................. 46 5.4.1ScriptA.46 5.4.2ScriptB.64 5.4.3ScriptC.46 5.4.4ScriptD.64 5.4.5Analysedesrésultats.47 5.5 M DEFINEODELIXE SANS CACHE 48 '0');......................................................('MX_CACHE DELAY', _ 5.5.1ScriptA.84 5.5.2ScriptB.84 5.5.3ScriptC.48 5.5.4ScriptD.84 DEFINE '5'); .( _ E_DELAY', 5.6 MODELIXE AVEC CACHE'MX CACH 49 ..................................................... 5.6.1ScriptA.49 5.6.2ScriptB.94 5.6.3ScriptC.49 5.6.4ScriptD.94 5.6.5Analysedesrésultats.50 5.7 SMARTY AVEC  CHECKTEST DE COMPILATION ET SANS CACHE COMPILE=TRUE;CACHING=FALSE; ........ 51 _ 5.7.1ScriptA.15 5.7.2ScriptB.51 5.7.3ScriptC.15 5.7.4ScriptD.15 5.8 SMARTY SANS TEST DE COMPILATION ET SANS CACHE COMPILE_CHECK=FALSE;CACHING=FALSE; ....... 52 5.8.1ScriptA.25 5.8.2ScriptB.25 5.8.3ScriptC.52 5.8.4ScriptD.25 5.9 SMARTY SANS TEST DE COMPILATION,AVEC CACHE(SANS MÉTHODE IS_CACHED()) _ = COMPILE CHECK FALSE;CACHING=TRUE; ............................................................................................................ 53 5.9.1ScriptA.35 5.9.2ScriptB.53 5.9.3ScriptC.35 5.9.4ScriptD.35 5.10 SMARTY SANS TEST DE COMPILATION,AVEC CACHE(ET MÉTHODE IS_CACHED())COMPILE_CHECK=FALSE; CACHING=TRUE; ..................................................................................................................... 54 5.10.1ScriptA.54 5.10.2ScriptB.45 5.10.3ScriptC.54 5.10.4ScriptD.45 5.10.5Analysedesrésultats.55 5.11 SYNTHÈSE DES RÉSULTATS.................................................................................................. 56 5.11.1Tableauxrécapitulatifs.65 5.11.2Premièreremarque.57 5.11.3Seconderemarque.57 5.11.4Analysedétailée.85 6. CONCLUSION ............................................................................................................... 60 GLOBALIS media systems - Siège social : 75, rue de Lourmel 75015 Paris. Bureaux et correspondance : 25, rue Thiboumery 75015 Paris S.A.R.L au capital de 80.000 F - R.C.S Paris B 413 141 193 - SIRET 413 141 193 00024 - APE 741G Tel : 01.56.08.00.99/ Fax 01.56.08.09.27, Web : http://www.globalis-ms.com, E-mail : infos@globalis-ms.com
GLOBALIS media systems 25, rue Thiboumery - 75015 Paris. Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27 E-mail : infos@globalis-ms.com Veille Technologique Page 4 - 21/02/02 6.1 AU NIVEAU TECHNIQUE...................................................................................................... 60 6.1.1Développement.60 6.1.2Optimisationdesperformances.60 6.2 AU NIVEAU ORGANISATIONNEL............................................................................................. 60 6.2.1Untempsdemiseenuvreàprendreencompte.60 6.2.2Lamaintenance.16 6.2.3Séparationdestâches.16 7.PERSPECTIVESETÉVOLUTIONS..................................................................................64 GLOBALIS media systems - Siège social : 75, rue de Lourmel 75015 Paris. Bureaux et correspondance : 25, rue Thiboumery 75015 Paris S.A.R.L au capital de 80.000 F - R.C.S Paris B 413 141 193 - SIRET 413 141 193 00024 - APE 741G Tel : 01.56.08.00.99/ Fax 01.56.08.09.27, Web : http://www.globalis-ms.com, E-mail : infos@globalis-ms.com
GLOBALIS media systems 25, rue Thiboumery - 75015 Paris. Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27 E-mail : infos@globalis-ms.com Veille Technologique Page 5 - 21/02/02
1. Introduction
Si nous avions à faire un état des lieux des sorties, releases et versions des divers projets Open-Source en PHP depuis le dernier trimestre 2001, les systèmes de « templates » feraient partie des plus dynamiques. On recense un nombre croissant darticles et dexemples (Devshed, PHPBuilder, PHPIndex) sur le sujet. Cependant, sait-on vraiment ce que sont les templates ? Idéalisés ou négligés, ils restent très souvent dans lombre car peu utilisés. Proposer un livre blanc dédié aux systèmes de templates1nous a paru intéressant. La documentation à ce sujet est plutôt rare et se veut le plus souvent partiale. On remarquera également que peu détudes ou de comparatif sur les performances des systèmes existent, et quil est difficile pour un développeur de les comprendre et de les inclure dans des développements. Cette étude a pour but de mettre à plat quelques systèmes choisis pour leur renommée ou leur originalité et dy déceler les avantages et les inconvénients. Nous recadrerons dans un premier temps le but des templates et leurs principes généraux. Nous présenterons les solutions retenues. Puis nous proposerons un protocole dexpérimentation nous engageant dans une série de tests de mesure de performances. Nous essaierons de fait den déduire les rôles pouvant être tenus par chaque système sachant que cette étude se veut la plus objective possible.
1 templatesLa terminologie » pourrait être traduite en Français par « gabarits HTML ». «
GLOBALIS media systems - Siège social : 75, rue de Lourmel 75015 Paris. Bureaux et correspondance : 25, rue Thiboumery 75015 Paris S.A.R.L au capital de 80.000 F - R.C.S Paris B 413 141 193 - SIRET 413 141 193 00024 - APE 741G Tel : 01.56.08.00.99/ Fax 01.56.08.09.27, Web : http://www.globalis-ms.com, E-mail : infos@globalis-ms.com
GLOBALIS media systems 25, rue Thiboumery - 75015 Paris. Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27 E-mail : infos@globalis-ms.com Veille Technologique Page 6 - 21/02/02
2. Définition
2.1 Quest ce que les « templates » ?
2.1.1 Remontons le temps Un template peut être traduit en français par modèle ou gabarit. Pour le Web, ce sont des scripts permettant détablir la structure, la mise en page dun site Web en pré-réglant la disposition des différents « objets » HTML (menu, en-tête, formulaire, barre de navigation, mise en page dun article, etc.). La notion de « système de templates » provient notamment du langage Perl. Cette idée est née de lidée de faciliter la génération de documents HTML à partir de scripts, et la modification de ces mêmes documents HTML sans nuire au code. On voit alors naître la classe FastTemplate qui sest vite montrée incontournable pour la programmation à partir de templates.
2.1.2 Aujourdhui Linformatique a vu naître des langages non compilés spécialement dédiés au Web répondant aux besoins toujours croissants dévolutivité, de simplicité de maintenance ou de temps de développement des applications. Les langages de scripts devenus matures depuis quelques années déjà ont cet avantage certain sur leurs prédécesseurs de pouvoir allier simplement le script au code HTML par une méthode très fusionnelle. Le langage de programmation intervient côté serveur pour générer du code HTML à la volée. Grâce à ces nouvelles technologies, les sites importants en taille deviennent dans certains cas très complexes à maintenir au niveau de lévolution graphique et de la mise en page à cause de la présence du code (PHP, Perl, ASP, etc.), imbriqué dans le HTML. Par exemple des boucles affichant les résultats issus dune base de données peuvent générer du HTML au « look » similaire sur des pages différentes. Si des modifications sont à faire sur laspect de ce tableau ou de cette liste, nous devrons les répéter dans chaque script. Cest à ce niveau quinterviennent les systèmes de développement à base de templates. Le but : séparer logique et présentation. Dun côté le script dans un langage donné effectuant les traitements habituels (requêtes SQL, fonctions, affectations de résultats dans des variables, etc.). De lautre, des fichiers définissant des gabarits HTML adaptés à la charte graphique où se situent des zones prédéfinies dédiées à laffichage des données générées par le script. Enfin, le moteur de templates, une sorte de moulinette, est chargée de remplacer les zones des modèles HTML par les valeurs adéquates.
GLOBALIS media systems - Siège social : 75, rue de Lourmel 75015 Paris. Bureaux et correspondance : 25, rue Thiboumery 75015 Paris S.A.R.L au capital de 80.000 F - R.C.S Paris B 413 141 193 - SIRET 413 141 193 00024 - APE 741G Tel : 01.56.08.00.99/ Fax 01.56.08.09.27, Web : http://www.globalis-ms.com, E-mail : infos@globalis-ms.com
edLureleuomr5Pa7501Bureris.etsysaièiS-smiaocsge,75:lhTbiuoemyr70551ParisS.A.R.Lauxuacteerronopsncda:e,25eru193141413isB114431RITE-S.080edalitapcraPS.C.R-F009/Fax0.08.00.9902.,7W.1650..8-24PEA9310000:65.1147leTGmeou-ry507P15smet,52eurbihTOBALISmediasysLGg@sofni:liam-E279..0086..501:aFx9/009.0..81.56:0.TelarisSILAdem20/2BOLG-/021Paue7genhlogoqilielTcems.comVelobalis-globalis-ms.com,be:htt:p//ww.wobglisals.-mmcom-Eliani:@sof
Templates HTML
.ihtml
Figure 1 - Schéma de fonctionnement classique dune solution de templates
Coté Client Navi ateur
Sortie HTML
Coté Serveur HTTP
Script PHP
Moteur Templates
.php
#
GLOBALIS media systems 25, rue Thiboumery - 75015 Paris. Tel : 01.56.08.00.99 / Fax : 01.56.08.09.27 E-mail : infos@globalis-ms.com Veille Technologique Page 8 - 21/02/02
3. Présentation des solutions choisies
Nous avons choisi 5 solutions parmi lensemble des systèmes disponibles. Les choix se sont portés sur la réputation et leur originalité. Ce sont des solutions incontournables sil fallait sintéresser aux templates. Nous nous limiterons à utiliser les principales fonctions de ces systèmes se retrouvant dans lensemble du panel de test. Cependant nous nhésiterons pas à présenter certaines fonctionnalités intéressantes de ces systèmes. Les différents systèmes sont indépendants, ils nécessitent PHP3 ou PHP4. Seul Smarty fait appel à PEAR2. Toutes ces solutions sont sous licence GNU/GPL3. A noter pour finir que 2 solutions sur les 5 sont le résultat du travail collaboratif de développeurs français. Cest en effet le cas de ModeliXe et plus récemment de VTemplate.
2Inspiré du CPAN de PERL, PEAR fourni des extensions et des bibliothèques de code pour PHP : http://pear.php.net/ 3GNU/GPL désigne GNU GENERAL PUBLIC LICENSE : http://www.gnu.org/
GLOBALIS media systems - Siège social : 75, rue de Lourmel 75015 Paris. Bureaux et correspondance : 25, rue Thiboumery 75015 Paris S.A.R.L au capital de 80.000 F - R.C.S Paris B 413 141 193 - SIRET 413 141 193 00024 - APE 741G Tel : 01.56.08.00.99/ Fax 01.56.08.09.27, Web : http://www.globalis-ms.com, E-mail : infos@globalis-ms.com
Voir icon more
Alternate Text