Puissant pour les pros
Simple pour les utilisateurs

CMS Made Simple, un CMS open source, permet la gestion rapide et facile des contenus d'un site web. Ce CMS est adapté aussi bien pour les petites sociétés que pour les grandes entreprises.

archives

[Traduction] Boostez à mort votre installation (2/2)

26 April 2010
Catégorie : Astuces et Conseils
Posté par : admin

Suite des hostilités entamées semaine dernière sur les performances de Cms Made Simple avec cette seconde partie toujours inspirée de l'article en allemand de cyberman

M pour modules

Cms Made Simple est livré avec 10 modules. Ils sont situés dans le répertoire /modules et sont automatiquement utilisés grâce à la procédure d'installation lorsque vous démarrez CMSMS (= chargement de tous les modules en mémoire à chaque visite du site).

Pour cette raison, Les modules non-indispensables devraient être désinstallés (ou mieux encore, même pas mis sur le serveur :)).

Petite aide à la décision :

CMSmailer

Ce module fournit les fonctions de PHPMailer

http://phpmailer.sourceforge.net/

Par exemple, il est utilisé par le module de livre d'or pour envoyer après l'envoi d'un nouveau message une notification à l'administrateur.

Dans le cas où la balise

Une adresse email doit etre spécifiée pour utiliser ce pluging.
est utilisée, l'envoi d'un mail passe alors par la fonction php : mail(). Le module CMSMailer n'est du coup plus nécessaire et devrait dans ce cas précis être désinstallé voir supprimé du serveur.

attentionNote du traducteur : Je tiens à préciser que depuis la rédaction de ce billet original, la balise

Une adresse email doit etre spécifiée pour utiliser ce pluging.
est devenue obsolète, bien que toujours présente dans nos nouvelles installations, il est donc préférable de conserver le module CMSmailer ;).

Gestionnaire de modules

Avec ce module, un répertoire central est interrogé (ndt : la forge de Cms Made Simple par défaut), Les modules sous la forme de fichiers XML peuvent être importés et le tout est affiché sous forme de liste de modules. Les modules peuvent également être directement installés et mis à jour via cette interface.

Si sur certaines installations en développement, les mises à jours de modules sont fréquentes et obligatoires, ce n'est pas forcement le cas en production si aucun bug n'est à signaler, de plus les uploads par FTP d'un module est une solution alternative. Dans ce cas on peut supprimer le module.

REMARQUE: L'upload par FTP des modules peut poser problèmes chez certains hébergeurs du fait de droits d'accès qui empêchent Cms Made Simple de "voir" tout dossiers dont il n'en soit pas l'auteur (privilèges manquants).

Enfin ceux qui souhaitent installer leur modules sous la forme de fichier XML (ou ceux qui n'ont pas d'accès FTP par exemple) peuvent également se passer du gestionnaire de module. Ils n'ont simplement qu'a enregistrer le fichier xml sur leur PC, puis le charger sur leur installation via le menu Extensions » Modules » Télécharger le module.

NuSOAP

Ce module offre les fonctionnalités pour les modules SOAP de Cms Made Simple.. SOAP (acronyme de "Simple Object Access Protocol") est un protocole qui permet l'échange de données entre différents systèmes via des appels en webservice (des requêtes sur internet de site à site sans que le navigateur web soit sollicité.)

Source / informations complémentaires: http://fr.wikipedia.org/wiki/SOAP

Cette fonctionnalité est uniquement nécessaire pour le gestionnaire de module. Si vous l'avez déjà désinstallé ou supprimé, vous pouvez retirer NuSOAP également

ThemeManager

Le gestionnaire de thème permet d'importer et d'installer un thème graphique via un fichier Xml. Ce fichier contient toutes les données requises (gabarits, feuilles de style, images, java-scripts). Pour changer, et étant donné qu'en production on change rarement les modèles , le module peut être désinstallé ou supprimé.

M pour MySQL

Même MySQL fournit des méthodes pour compresser la communication avec la base de données et donc accélérer les performances. La compression est également utilisé dans la couche de base de données CMSMS ADOdb Lite.

Pour l'activer : ouvrir le fichier /lib/adodb.functions.php dans un éditeur texte

Trouver :

 $dbinstance =& ADONewConnection($config['dbms'], 'pear:date:extend:transaction'); 

Insérer en dessous

  $dbinstance->clientflags = MYSQL_CLIENT_COMPRESS; 

Enregistrer

S pour serveur (choix du ...)

Si vous avez le choix de décider si votre site devrait fonctionner sous un serveur Apache / Linux ou IIS / Microsoft, la recommandation est tout à fait clair : Apache / Linux. Les images sont plus parlantes que des mots:

http://blogs.zdnet.com/threatchaos/?p=311 (ndt : lien KO)

Bien qu'écrites en anglais, Les images montrent le plus important, à savoir le système nécessaire pour l'utilisation d'Apache et d'IIS. Le modèle "pèle-mêle" d'IIS ne peut pas être plus rapide que Apache :). .

S pour Serveur Optimisé

Outre les optimisations internes mentionnées ci dessus pour Cms Made Simple, on peut également procéder à une optimisation du serveur lui-même, une accélération significative en perspective:

Module Apache : mod_cache

Ce module permet de stocker la sortie du serveur dans une mémoire tampon qui sera de fait disponible immédiatement pour une récupération ultérieure. L'utilisation de ce module peut accélérer le système de 20 à 40%. Pour plus d'infos consulter ici

http://httpd.apache.org/docs/2.0/mod/mod_cache.html

Remerciements à Pierre.

Module Apache : mod_expires

Également, et via les fichiers .htaccess cette fois, certains éléments peuvent être mises en cache tels que des images, CSS et JavaScript. Voici un exemple:

ExpiresActive on
ExpiresByType image/gif "access plus 6 months"
ExpiresByType image/jpeg "access plus 6 months"
ExpiresByType image/png "access plus 6 months"
ExpiresByType text/css "access plus 6 months"
ExpiresByType text/javascript "access plus 6 months"
ExpiresByType text/html "access plus 1 day"
ExpiresByType application/x-javascript "access plus 6 months"

<Files ~ "\.(js|css|gif|jpg|png)$">
Header append Cache-Control "public"
</Files>

Pour plus d'infos consulter ici

http://httpd.apache.org/docs/2.0/mod/mod_expires.html

Le lien qui suit permet de tester quels sont les éléments de votre site qui sont mis en cache et sous quel condition.

http://www.ircache.net/cgi-bin/cacheability.py

Remerciement à faglork.

Et voici un lien vers la compréhension de la mise en cache (Anglais)

http://www.mnot.net/cache_docs

eAccelerator

Pour ceux qui auraient installé leur Cms Made Simple sur un serveur dédié ou sur un VPS, pour ceux qui ont accès à l'administration de leur serveur ou ceux qui connaissent bien l'administrateur de ce dernier, il est interessant de jeter un coup d'œil à cette extension.

http://eaccelerator.net/

Cette extension compile et met en cache tous les scripts PHP afin d'accélérer leur exécution et de soulager le serveur. Aux dires de son auteur, le coefficient d'accélération serait de 1:10 :)

Zend Optimizer

L'équivalent d'eAccelerator en plus conséquent pour ceux et celles qui administrent leur propres serveurs, Attention il n'est pas intégrable à votre serveur Apache.

http://www.zend.com/fr/downloads

S comme Smarty

Smarty, est utilisé par CMSMS comme moteur de gabarit, et apporte toute une série d'extensions et de plugins utiles. Ceux-ci peuvent être retrouvés dans le répertoire /lib/smarty/plugins. S'ils mènent souvent une existence d'ombre, ils sont toutes fois interrogés à chaque fois que vous démarrez CMSMS.

Lorsque vous n'utilisez pas les modules qui exigent des balises spécifiques de cette liste (tels que le module News), il est interessant de retirer ces balises pour gagner en optimisation.

Mais ATTENTION - ici, vous devez savoir exactement ce que vous faites !

T pour tags

les balises sont également touchés par le problème évoqué précédemment dans la section "Module". Lors du démarrage, le répertoire des plugins est entièrement lu. Par conséquent, il convient de laisser ici que les balises requises dans le répertoire. Il est difficile de donner des recommandations spécifiques, puisque chacun d'entre nous a des besoins différents.

Ci dessous je vous donne une liste personnelle des tags que je n'utilise pas ou que très rarement :

  • function.adsense.php
  • function.bulletmenu.php
  • function.cms_version.php
  • function.cms_versionname.php
  • function.edit.php
  • function.embed.php
  • function.google_search.php
  • function.googlepr.php
  • function.html_blob.php
  • function.image.php
  • function.ImageGallery.php
  • function.valid_css.php
  • function.valid_xhtml.php

Balises qui ne sont utilisées que si nécessaire :

  • function.contact_form.php
  • function.created_date.php
  • function.current_date.php
  • function.description.php
  • function.last_modified_by.php
  • function.menutext.php
  • function.modified_date.php
  • function.recently_updated.php
  • function.sitemap.php
  • function.sitename.php

U comme use_sub_dirs

Pour l'optimisation suivante, ouvrez le fichier admin/lib/content.functions.php et trouvez :

//use_sub_dirs doesn't work in safe mode
//if (ini_get("safe_mode") != "1")
// this->use_sub_dirs = true;

qui doit être remplacé par

//use_sub_dirs doesn't work in safe mode
if (ini_get("safe_mode") != "1")
this->use_sub_dirs = true;

Ce réglage doit être testé au cas par cas, car elle ne fonctionne pas sur n'importe quel serveur.

attentionNote du traducteur : plus d'info sur cette manipulation et son intérêt : http://www.lephpfacile.com/manuel-smarty/variable.use.sub.dirs.php)

U pour Übersetzungen (= Traduction)

CMS Made Simple est actuellement disponible en 33 langues qui sont inclus avec l'installation par défaut. Ce serait fondamentalement pas un problème, si ce n'est que les-dites traductions de tous les modules sont complètement chargées à chaque affichage de page web.

Durant l'évolution de Cms Made Simple, la structure des répertoires de langue des modules a été modifiée à plusieurs reprises, de /modules/unModule/lang/fr_FR.php à /modules/unModule//lang/fr_FR/fr_FR.php jusqu'à /modules/unModule/lang/ext/fr_FR.php.

Dans l'administration le principe est similaire. Ainsi dans le répertoire admin/lang/ vous trouverez de langue au format fr_FR.nls.php ainsi que dans le sous-répertoire /admin/lang/ext/de_DE.

Toute personne qui utilise seulement le français, peut donc supprimer toutes les langues sauf le français (et éventuellement l'anglais).

X comme XHTML

CMS Made Simple est par nature un xhtml-CMS. Par conséquent, des précautions doivent être prises avec les gabarits et le contenu que l'on y insère afin que toutes les pages soient XHTML valide.

En toute logique, un code propre et valide apparaîtra plus vite qu'un code défectueux, le navigateur n'ayant besoin que d'afficher, et non de se demander comment faire.

Un examen du code généré devrait toujours avoir lieu parce que les éditeurs WYSIWYG disponibles dans CMS Made Simple ne permettent pas (ou seulement dans certains contextes) de produire du code XHTML valide.

Cela peut se faire en ligne via le lien http://validator.w3.org/ ou hors ligne avec le navigateur Firefox et son extension HTML Tidy

Au final

Au final, votre site doit maintenant être un tout petit peu plus rapide.


Et pour tous ceux qui ne le savent pas encore ? CMS Made Simple c'est également Facebook, Twitter et même un flux RSS pour rester constamment au courant des nouveautés, des annonces et des préviews de la communauté ! Alors aucune excuse pour dire que vous n'étiez pas au courant :)

  Flux Rss Twitter Facebook