Posts Tagged ‘ Phing

Un composant pour compresser les fichiers JS et CSS

Etant toujours en quête de l’allègement des pages web, j’ai récemment trouvé un outil permettant de compresser les codes JavaScript et CSS. Cette librairie appelée « Minify » est hébergée sur Google Code par Steve Clay et Ryan Grove et est basé sur JSMin, programme développé par Douglas Crockford en C.

Plusieurs classes PHP permettent de compresser les fichiers JS, ou les fichiers CSS assez simplement.
Pour ma part, je vais coupler l’utilisation de ce code avec Phing pour alléger le poids des fichiers à transférer lors de l’affichage des pages web que j’aurais créé. Dans un futur post, je présenterais différents processus Phing dont celui-ci…

Plusieurs exemples d’utilisation sont disponibles pour une meilleure compression en fonction de plusieurs cas concret. Ils sont décrit à l’adresse http://code.google.com/p/minify/wiki/CookBook.

Vous trouverez les sources (sous licence BSD) à l’adresse suivante: http://code.google.com/p/minify/

Phing: Un outil de build type Ant pour PHP

Phing, PHing Is Not Gnu make,  est une librairie PHP du FrameWork PEAR permettant d’exécuter une suite de commandes plus ou moins complexes tout comme l’utilitaire make pour les languages comme C++.

Elle fonctionne de la même manière que Ant pour Java, c’est à dire qu’un fichier XML décrit les traitements à effectuer et leur séquencement. D’ailleurs, de nombreuses commandes Phing sont inspirées par Ant. La documentation Phing n’est pas très complète mais en mélangeant les deux outils il est tout à fait possible de trouver son bonheur.

Cet outil permet aussi bien de créer une archive (tar.gz, ZIP), une sauvegarde du contenu, un déplacement de fichier, que des tâches beaucoup plus complexes comme le déploiement complet d’une application web. Il peut communiquer directement avec la base de données, faire des traitements sur des fichiers, …
Une fois qu’on a commencé à l’utiliser, on ne peut plus s’en passer… Pour ma part, le confort apporté pour la manipulation des contenus sensibles (sauvegarde + restauration automatisées) est vraiment significatif!

J’ai aujourd’hui créé une commande permettant de créer une version stabilisée d’un site en cours de développement (suppression des répertoires .svn, suppression du contenu, sauvegarde de la base de données). J’ai aussi développé un outil de déploiement permettant de restaurer une version du site à un instant donné ce qui est très pratique quand plusieurs personnes sont amenées à travailler sur le même projet…

Cette bibliothèque s’exécute en ligne de commande et peut s’installer de deux façons:

- Autonome: Les sources sont téléchargeables et peuvent s’exécuter sans l’appui direct du framework PEAR.

- Intégré: Il faut installer PEAR puis exécuter les commandes décrites ici pour installer Phing

Logo de la librairie PEAR Phing

Logo de la librairie PEAR Phing