En quoi consiste un redémarrage en douceur d’Apache ?

Un redémarrage « ordinaire » arrête le serveur Web Apache, puis le relance. En conséquence, les requêtes en cours sont abandonnées et aucune nouvelle requête n’est desservie tant que le serveur est à l’arrêt. Un redémarrage normal entraîne donc une interruption momentanée du service. Il existe une autre manière de redémarrer le serveur Web Apache.

Continue reading

Module Apache pour améliorer les performances de ses pages Web

La performances des pages Web est devenu un critère important pour le positionnement dans Google. Les internautes apprécient (même inconsciemment) des pages Web qui s’affichage rapidement. On connaissait les critères YSlow et Google PageSpeed. Optimiser les performances des sites Web est une activité qui peut vite devenir chronophage pour plus d’un développeur-front, et le temps manquent souvent. Google nous proposent un module Apache qui répond à ces questions de manières automatisées.

Continue reading

Installer Image Magick (Imagick) pour PHP avec Ubuntu

Image Magick, véritable photoshop du développeur, est un outil qu’on ne présente plus. Il est intégré dans la plupart des projets PHP. Pourtant, son utilisation requiert souvent la fonction exec ou passthru, ce qui ne satisfait guère.

En effet, il existe un module PECL pour Image Magick. Son installation sur une station de travail Ubuntu est relativement simple :

sudo apt-get install php-pear
sudo apt-get install imagemagick
sudo apt-get install libmagick9-dev
sudo pecl install imagick

Il suffit ensuite de renseigner dans les php.ini la ligne :

extension=imagick.so

Il faut relancer apache si l’on veut utiliser Image Magick via une interface Web

sudo /etc/init.d/apache2 restart

Hello World avec Image Magick

<?php
 
$draw = new ImagickDraw();
$draw->setFontSize(25);
$draw->annotation(20, 50, "Bonjour le monde !");
 
$canvas = new Imagick();
$canvas->newImage(350, 70, "white");
$canvas->drawImage($draw);
$canvas->borderImage('black', 1, 1);
$canvas->setImageFormat('png');
 
header("Content-Type: image/png");
echo $canvas;