29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don




Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

Specification -- Spécification

Date de publication: le lundi 6 août 2007 à 15h48
Dernière modification: par Pascal BOYER le dimanche 26 septembre 2010 à 21h36

From the point of view of performance, the most important part of the specification process is selecting and defining the caching mechanisms that eZ Publish will use. Caching must be considered during each stage of development and deployment, and has a critical impact on performance.
Du point de vue des performances, la partie la plus importante du processus de spécification consiste à sélectionner et à définir le mécanisme de cache qu'utilisera eZ Publish. La gestion du cache doit être considérée à chaque étape du développement et du déploiement du projet sachant que son impact sur les performances est critique.

Cache types / Les types de caches

Templates and configuration files / Les fichiers et templates de configuration

The Template Compilation and Override Cache settings may be disabled during development as described in the documentation of the site.ini. These settings should never be disabled in a production environment, because that would considerably slow down your website. For example, the Template compilation cache drastically reduces server load, because it generates pure PHP scripts from the eZ Publish template, so there is no need to parse the templates during production runtime. 
Les paramètres TemplateCompile  (compilation des templates) et Cache  (mise en cache des surcharges de templates) de la section [TemplateSettings] du fichier de configuration site.ini (ou de l'une de ses surcharges) doivent/peuvent être désactivés, comme cela est indiqué dans la documentation du fichier site.ini , pendant toute la période de développement du site. En revanche, ces paramètres ne doivent jamais être désactivés sur un site en production sous peine de réduire considérablement ses performances. Par exemple, la mise en cache des templates compilés réduit considérablement la charge du serveur en générant, à partir des templates de eZ Publish, des scripts PHP compilés. Il n'est donc plus alors nécessaire d'analyser les templates lorsque l'on passe en phase de production.

The upcoming version 3.8 of eZ Publish introduces template development mode, which negates the need to disable these settings. 
La version 3.8 à venir de eZ Publish introduit le mode développement pour les templates  qui évite d'avoir à désactiver les deux paramètres ci-dessus.

Content

ViewCaching is the fundamental mechanism for content caching, and should always be enabled. However, ViewCaching can be disabled for individual pages if required. When enabled, eZ Publish will automatically create multiple cached versions based on roles and the view parameters.
Le ViewCaching  (paramètre ViewCaching de la section [ContentSettings] du fichier site.ini) est un mécanisme fondamental pour la mise en cache des contenus et doit toujours être activé. Cependant, et si nécessaire, il peut être désactivé uniquement pour certaines pages. Lorsque ce mécanisme est activé, eZ Publish met automatiquement plusieurs versions en cache en fonction de paramètres de rôles et de vues.

Cache blocks are used to cache dynamic parts of pagelayout.tpl and dependent templates (that is, templates that are not handled by ViewCaching). They store the HTML result of dynamically generated template code in a text file. This file can be loaded the next time the same code is requested. As an example, cache blocks are often used to store navigation menus. Note that too many cache blocks can have a negative effect on performance. More information on the proper use of cache blocks can be found in the eZ Publish documentation.
Les blocs de cache  (Voir également cette documentation ) sont utilisés pour mettre en cache dynamiquement des parties du template pagelayout.tpl et des templates dépendants (c'est à dire les templates qui ne sont pas gérés par le système ViewCaching). Ces blocs de cache stockent, dans un fichier texte, le HTML résultant du code de templates généré dynamiquement. Ainsi, la prochaine fois que ce code sera demandé alors le fichier texte pourra être chargé (et donc servi au client). Par exemple, les blocs de cache sont souvent utilisés pour stocker les menus de navigation. Notez que trop de blocs de cache peut avoir un impact négatif sur les performances. Vous trouverez plus d'informations sur l'usage correct des blocs de cache dans cette documentation .

Finally, static caching is the most powerful cache mechanism for many projects. It stores and reads static HTML files, so that PHP is not called when a page is loaded. Performance can be boosted tremendously by using static caching, but you have to determine during the early stages of the project where it should be implemented, what parts of the project cannot use it and how cache expiration should be handled.
Enfin, pour nombre de projets, le cache statique  représente le plus puissant mécanisme de cache. Ce mécanisme stocke et lit des fichiers HTML statiques et ne fait donc pas appel à PHP lorsqu'une page est chargée. Les performances peuvent être énormément améliorées en utilisant ce système mais vous devrez déterminer, au début de votre projet, ou il devra être mis en application, les parties du projets qui ne devront pas y avoir recours et comment sera gérée l'expiration de ce cache.

Caching strategy / Stratégie de mise en oeuvre du cache

The cache strategy that will be used is directly dependent on the project specifications. For example, features that display personalized information cannot use StaticCache. Content that performs real-time rendering cannot use cache blocks. Therefore, the eZ Publish implementer needs site specifications in order to identify the best cache solution. These specifications don't need to be overly documented or obscure, or rely on a complex development process; they merely need to be factual and efficient. For example, a simple website will have a very short specification.
La stratégie de gestion des caches qui sera retenue dépend directement des spécificités du projet. Par exemple, les fonctionnalités qui affichent des informations personnalisées ne peuvent pas utiliser le cache statique  (il s'agit ici du paramètre StaticCache de la section [ContentSettings] du fichier site.ini). Les contenus qui réalisent des rendus temps-réels ne peuvent pas utiliser les blocs de cache et la personne chargée de mettre en place eZ Publish aura donc besoin de connaître les spécifications du site afin d'identifier la meilleure solution de gestion du cache. Ces spécifications n'ont pas besoin d'être excessivement documentées mais ne doivent pas, à contrario, être obscures ou reposer sur un processus complexe de développement. Elles doivent essentiellement être claires et efficaces. Par exemple, un site web simple aura une courte liste de spécifications.

eZ Publish 3.8 will have new features that allow header alteration and make use of an external caching system like Squid. More information on these features will be published in the near future.
La prochaine version 3.8 de eZ Publish aura de nouvelles fonctionnalités qui permettront le changement des en-têtes et utiliseront un système de cache externe comme Squid . Plus d'informations sur ces fonctionnalités seront plubliées prochainement.

28 April 2006 10:10:00

Commentaires