WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Industrialisation des développements web : cas du langage php

( Télécharger le fichier original )
par Jean-Luc NTA à NWAMEKANG
Institut Supérieur de Technologie et du Design Industrielle - European Master of Computer Science 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

· Il centralise les informations de build dans un seul fichier :

Toutes les informations dont Phing a besoin pour fonctionner sont rassemblées dans le fichier build.xml. Toutes les tâches que l'on souhaite réaliser y seront décrites. Il est possible de construire des groupes de tâches (appelés targets) réutilisables. Le fichier build.xml est suffisamment verbeux pour être, lors de sa lecture, compréhensible sans connaissance préalable par un autre développeur.

· Il fonctionne sur toutes les plateformes où PHP est disponible :

Phing est codé en PHP. Il est donc l'utilisable dès lors que PHP est installé sur le système.

· Il supporte un grand nombre d'outils PHP :

Il existe un grand nombre d'applications destinées à améliorer l'écriture du code PHP. Elles ont l'inconvénient de ne pas suivre les mêmes conventions ou la même logique. Phing intègre des tâches dédiées à certaines d'entre elles. Ces tâches sont normalisées et suivent une logique commune. Ce canevas est utile pour paramétrer, efficacement et avec un minimum d'effort, chacune d'entre elles sans sacrifier pour autant les possibilités de réglages avancés.

· Il est documenté :

 La documentation est d'excellente qualité et détaille avec précision le rôle et la configuration de chaque tâche. Que celle-ci fasse partie du noyau de Phing ou soit rattachée à un outil externe, vous trouverez fréquemment des exemples clairs et concis.

· Il est extensible :

On peut étendre Phing pour y ajouter de nouvelles tâches. Ainsi on pourra utiliser nos propres outils irremplaçables ou non implémentés. Le système d'extension est documenté. La documentation officielle a un chapitre entier détaillant les possibilités, proposant des gabarits pour travailler et expliquant pas-à-pas le processus de conception d'une nouvelle tâche.

· Il facilite la mise en place d'un processus d'intégration continue :

Il est utilisable avec la plupart des outils dédiés à l'intégration continue : Cruise control, Hudson, Xinc...

II.4.2 Outils utilisables avec Phing

Type d'opération

Application(s) externe(s) nécessaire(s)

Description

Couverture du code par les tests

PHPUnit et Xdebug

Pour utiliser cette fonction, PHPUnit et Xdebug sont nécessaires. Cet outil génère un rapport sur la couverture de votre code par les tests unitaires. Vous pouvez créer un rapport sur quelques fichiers, par module ou sur l'application complète.

DbDeploy

Non

Cet outil intégré à Phing facilite la migration et l'évolution des bases de données de vos projets.

Exécuter une commande console

Non

Vous pouvez exécuter une commande Shell à partir de Phing. Cette fonctionnalité est intéressante lorsque l'outil que vous souhaitez appeler n'a pas de tâche associée. Utilisez des commandes aussi simples que possible. Dans l'idéal, ne cassez pas le support multiplateforme. SVN est un très bon exemple où cette fonctionnalité est indispensable. N'oubliez pas de gérer les erreurs.

FtpDeploy

Non

Phing peut prendre en charge le déploiement de votre application sur différents serveurs en utilisant le protocole FTP.

Ioncube Encoder

Ioncube Encoder

Cet outil commercial rend illisibles vos scripts PHP et en assure la protection par licence.

JsLint

JsLint

Cet outil analyse le code JavaScript pour vérifier l'usage des bonnes pratiques de développement.

JsMin

Non

JsMin est une application externe embarquée dans Phing. Vous n'avez donc pas besoin de l'installer. Cet outil minimise la taille d'un fichier JavaScript.

Outils XML

Non

Phing peut valider un ou plusieurs scripts XML à l'aide d'un schéma XSD et transformer un fichier XML en utilisant une feuille de style XSL.

PEAR Packager

Non

Phing crée un fichier XML permettant de déployer votre application au moyen de PEAR (supporte la version 1 et la version 2 de PEAR)

Phar Packager

PECL's Phar

Cet outil crée un package Phar. Tous les fichiers PHP d'une application sont rassemblés en un seul fichier. Un package Phar est utilisable dans PHP depuis la version 5.3. Ces packages sont optimisés pour améliorer la vitesse d'exécution des scripts.

Php_CodeSniffer

Php_CodeSniffer

Cet outil effectue une analyse statique de vos scripts pour vérifier qu'ils respectent les conventions de code que vous avez définies (PEAR, Zend, vos propres conventions...).

PhpCpd

phpCpd

PHP Copy/Paste detector est un script simple qui recherche les lignes de code dupliquées dans vos fichiers PHP.

PhpDocumentor

PhpDocumentor

Cet outil génère la documentation de votre API à partir des commentaires phpdoc écrits dans vos scripts. Vous pouvez aussi compiler des tutoriels ou des articles à partir de documents docbook.

phpLint

phpLint

Cet outil est un analyseur statique de code. Il vérifie les erreurs les plus communes en PHP (par exemple, l'emploi de fonctions déconseillées ou l'utilisation des short tags).

PHPUnit

PHPUnit

Vous pouvez exécuter vos tests unitaires et générer un rapport résumant leur exécution.

Scp

Non

Scp est une fonction permettant de copier un fichier au travers du protocole SSH. Vous pouvez déployer intégralement une application en utilisant le protocole SSH à place du protocole FTP.

SVN

VersionControl_SVN

Phing supporte les opérations Subversion (en abrégé SVN) checkout, commit, export et update. Vous pouvez interagir avec un serveur de version SVN. On regrettera l'absence de certaines commandes SVN (merge, import...). Vous pouvez exécuter SVN en utilisant la tâche ExecTask qui permet d'exécuter une commande dans le Shell de l'OS.

Zend code analyseur

Zend Code Analyseur

Zend code analyseur est livré avec Zend studio. C'est un analyseur de code statique qui repère les erreurs les plus courantes dans du code PHP.

Zip & Tar

Archive_Tar (pour les fichiers tar seulement)

Vous pouvez créer des archives compressées ou décompresser des archives existantes au format Tar ou Zip.

Tableau 2 : liste des outils utilisables avec Phing

Chapitre III. DEPLOIEMENT AUTOMATISEE

DE LA BASE DE DONNEES

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il faut répondre au mal par la rectitude, au bien par le bien."   Confucius