PHP: résoudre l'erreur "file_get_contents(): SSL operation failed with code 1" photo

PHP : les bons en-têtes pour permettre la mise en cache d’une page

Je me suis rendu compte qu’un des fichiers javascript d’un plugin WordPress est appelé sur chaque article du site et qu’il n’est pas mis en cache par défaut…

C’est très moyen au niveau optimisation étant donné que c’est typiquement le genre de fichier statique qui n’est pas prêt d’être modifié.

Voici donc les en-têtes (headers) qui vont nous permettre de mettre un fichier en cache en PHP :

<?php
/*
|--------------------------------------------------------------------------
| Enable Caching with PHP headers by Matt - www.skyminds.net
|--------------------------------------------------------------------------
|
| Let's set it to 90 days caching.
| seconds, minutes, hours, days 
|
*/
$expires = 60*60*24*90;

header('Pragma: public');
header('Cache-Control: maxage='.$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');Code language: HTML, XML (xml)

Et voilà, page mise en cache.

Cela fait moins de requêtes sur le serveur puisque le navigateur n’a pas besoin de redemander la page à chaque visite.

Linux : vider un fichier de son contenu avec la commande truncate photo

Linux : vider un fichier avec truncate

truncate

De temps en temps, il peut être utile de pouvoir effacer le contenu d’un fichier qui prend de l’embonpoint, comme un fichier de log par exemple.

Dans ce cas, vous pouvez lancer la commande truncate sous linux dans un terminal :

truncate -s 0 /home/skyminds/error.log

L’argument -s 0 signifie que l’on réduit sa taille (size) à zéro. Simple et efficace !

Auto Draft photo 1

Accélérer le démarrage et l’arrêt d’Ubuntu

Cela fait quelques années que mon système tourne sous Ubuntu et je n’ai jamais eu à réinstaller l’OS.

Et pourtant, on peut dire que je ne le ménage : j’installe des applications, teste tout ce que je trouve sous la main, désinstalle…

Avec le temps, j’ai remarqué qu’Ubuntu mettait de plus en plus de temps à démarrer donc je me suis penché sur l’optimisation du démarrage du système.

Désactiver les services inutiles

Mon PC principal est un desktop donc certains services ne sont pas vraiment utiles : laptop-mode (permet de gérer la fermeture de l’écran), les hotkeys (touches en bleu sur les portables) :

sudo update-rc.d -f laptop-mode remove
sudo update-rc.d -f hotkey-setup remove Code language: CSS (css)

Je n’ai ni lecteur de carte PCMCIA, ni Bluetooth :

sudo update-rc.d -f pcmcia remove
sudo update-rc.d -f pcmciautils remove 
sudo update-rc.d -f bluetooth remove
sudo update-rc.d -f bluez-utils removeCode language: CSS (css)

Si vous avez une connexion ADSL, les services pppd-dns et dns-clean ne vous serviront à rien.

Ces derniers permettent surtout de gérer les connexions de type dial-up (ancien modem RTC).

sudo update-rc.d -f dns-clean remove
sudo update-rc.d -f pppd-dns remove Code language: CSS (css)

Note : pour rétablir un service, tapez:

sudo update-rc.d [nom du service] defaultsCode language: CSS (css)

Lire la suite

Serveur dédié : analyse des performances du serveur photo

Serveur dédié : analyse des performances du serveur

Cela fait quelques mois que le nouveau serveur est en place et il est temps de faire un petit bilan au niveau des performances.

Charge processeur

Tout d’abord, bien que le serveur soit équipé des mêmes caractéristiques techniques (même CPU, même quantité de RAM), il s’avère qu’il est beaucoup plus réactif que l’ancien.

Le processeur n’est plus surchargé en permanence et lorsque l’on lance un top, la charge du processeur est le plus souvent entre 0.05 et 0.20, ce qui est idéal.

A titre de comparaison, l’ancien serveur avait une charge souvent supérieure à 2.

Analyse du temps de chargement des pages via Google Webmaster Tools

Il y a quelques semaines, je me suis connecté sur Google Webmaster Tools et lorsque j’ai atteint le graphique du temps de chargement des pages du site, j’ai eu l’agréable surprise de découvrir ceci :

serveur dedie response time 2011

Lire la suite

WordPress : optimiser le fichier htaccess pour les permalinks photo

WordPress : optimiser le fichier htaccess pour les permalinks

Toujours à la recherche de ce qui peut optimiser le chargement du site et soulager le serveur, je vous donne ma configuration du fichier htaccess en ce qui concerne les permaliens (permalinks) de WordPress.

Code de base WordPress

Voici le code htaccess standard de WordPress :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPressCode language: PHP (php)

Lire la suite

Ubuntu : compression d'images JPG et PNG avec Trimage Image Compressor photo 1

Ubuntu : compression d’images JPG et PNG avec Trimage Image Compressor

trimage icon

Il y a quelques semaines, je vous ai parlé du plugin GIMP “Enregistrer pour le Web” qui permet d’obtenir le meilleur ratio qualité/poids pour vos images.

Et bien sachez qu’il existe une petite application qui permet d’automatiser la compression d’images JPEG et PNG sans perte de qualité et en un seul clic : Trimage Image Compressor, qui utilise optipng, advpng et jpegoptim, suivant le type du fichier.

Installation

L’installation est très simple, il suffit d’ajouter le dépôt PPA de l’application et de lancer l’installation :

sudo add-apt-repository ppa:kilian/trimage
sudo apt-get update && sudo apt-get install trimageCode language: JavaScript (javascript)

Lire la suite

GIMP : ajouter le plugin "Enregistrer pour le Web" photo 1

GIMP : ajouter le plugin “Enregistrer pour le Web”

gimp icon Depuis que je suis sous Ubuntu, je n’utilise qu’une seule application pour créer ou modifier mes images : GIMP.

Or, je me suis souvent retrouvé confronté au dilemme du poids des images.

Si c’est une image destinée à finir sur un CD ou un DVD, la taille et le poids de l’image importent peu. Par contre, si c’est une image qui est uploadée sur le site ou envoyée par email, il est bien préférable de l’optimiser au moment de l’enregistrement final.

Lire la suite

bleachbit

Regagner de l’espace disque avec BleachBit

Vous avez très certainement remarqué qu’à chaque fois que l’on édite un fichier sous Ubuntu (toto.php par exemple), le système crée une copie de sauvegarde (~toto.php) en fichier caché. Alors, il y a des fois où cela peut s’avérer très utile mais la plupart du temps, cela prend de l’espace disque pour rien. Et je ne parle même pas de la liste interminable de fichiers lorsque l’on lance un client FTP (qui lui affiche *tous* les fichiers).

binaire logo Si vous voulez donc faire un peu de ménage sur votre machine, je vous conseille BleachBit qui supprime le cache, l’historique des navigateurs installés, les fichiers de localisation inutilisés, les anciens fichiers de logs, les fichiers temporaires.

Lire la suite

Optimisation du thème WordPress : 30 requêtes SQL gagnées photo

Optimisation du thème WordPress : 30 requêtes SQL gagnées

speedy_gonzales

Je viens d’effectuer une jolie petite optimisation qui devrait bien alléger le serveur sur lequel nous tournons. Vous vous souvenez de l’article WordPress : réduire le nombre de requêtes SQL des thèmes, écrit il y a quelques mois ?

Et bien il se trouve que j’avais tout optimisé tous les fichiers de mon thème – sauf le menu du site qui se trouve dans le fichier header.php !

Ce dernier contenait quasiment une trentaine de requêtes SQL destinées à obtenir les permalinks des pages statiques…

Je m’étais dit à l’époque que si je changeais le permalink d’une page, cela se reflèterait immédiatement dans le menu. Quand j’y pense aujourd’hui, c’est vraiment ridicule.

Lire la suite

WordPress : utilisation d’un système de cache

Optimisation : le cache

Si votre blog génère beaucoup de trafic, il y a fort à parier que votre consommation des ressources serveurs ira en augmentant : plus vous écrivez d’articles et plus vous avez de pages, plus vous avez de visiteurs sur le site.

Le problème, c’est que les multiples appels à la base de données pour extraire le contenu des articles peut entraîner des ralentissements, voire des erreurs lors de l’affichage de vos pages en périodes de pointe.

La solution consiste à utiliser un système de cache de fichiers. Pour SkyMinds, j’ai testé tout ce que j’ai pu trouver pour tenter d’endiguer le trafic qui ralentissait le serveur. Voici les conclusions auxquelles je suis arrivé, au bout de multiples expérimentations.

Pensez à faire une sauvegarde de votre fichier .htaccess avant de commencer.

Lire la suite

WordPress : réduire le nombre de requêtes SQL des thèmes

WordPress : optimiser le theme

Après avoir vu comment réduire les accès des plugins, voici comment réduire le nombre d’accès à la base de données en modifiant vos fichiers de thèmes.

Des URLs statiques

Il est possible de supprimer jusqu’à une bonne vingtaine d’appels à la base de données rien qu’en éditant les fichiers de votre thème. Les fichiers les plus gourmands sont header.php, sidebar.php et footer.php. Vous pouvez remplacer :

  • bloginfo('charset') par l’encodage de vos pages : UTF-8.
  • bloginfo('stylesheet_url') par l’URI statique de votre feuille de style.
  • bloginfo('rss2_url') par l’URI statique de votre flux RSS.
  • bloginfo('pingback_url') par l’URI statique de votre serveur XML-RPC.
  • bloginfo('url') par l’URI statique de votre blog (sans le slash final).

Lire la suite

WordPress : réduire le nombre de requêtes SQL des plugins

Plugins

Suite aux deux précédents avertissements de mon hébergeur, j’ai pris quelques mesures pour tenter d’endiguer les requêtes superflues au niveau du serveur et d’optimiser mon installation WordPress en général. Aujourd’hui, on essaie de réduire le nombre de requêtes SQL de nos plugins.

Etape 1 : réduire le nombre de plugins

Une installation par défaut de WordPress est assez light au niveau des ressources SQL. Le problème, c’est que l’on a bien souvent tendance à ajouter des plugins à son installation de base qui finissent par ralentir l’ensemble du site. Peut-être même possédez-vous des plugins qui sont devenus obsolètes ou redondants s’ils ont été inclus dans le code source de WordPress. Faîtes un peu le ménage et supprimez les plugins dont vous ne vous servez pas.

Lire la suite