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