Accès direct au contenu Accès direct à la navigation

Ce document développe les différents outils que nous utilisons habituellement pour installer/mettre à jour les dépendances de nos paquets.

Composer : gestionnaire de dépendances PHP

Nous utilisons Composer pour installer ou mettre à jour automatiquement les paquets PHP externes requis par chacun de nos propres paquets.

Certains de nos développements sont référencés dans le Packagist.

Sami : le nouveau générateur de documentation

Par le passé, nous utilisions le plus souvent PHP Documentor pour générer les documentations de nos scripts.

Nous utilisons maintenant Sami, qui est très simple et rapide à utiliser et est géré nativement par Composer.

Dès que l’un de nos paquets contient un fichier sami.config.php (le plus souvent à la racine), une documentation peut être générée avec la commande :

  1. ~$ php path/to/vendor/sami/sami/sami.php render sami.config.php

La documentation au format HTML est générée dans le répertoire phpdoc/, qui n’est pas sous contrôle de version sur la branche "master". Pour fonctionner, Sami requière un répertoire temporaire pour la génération des fichiers qui est définit, par défaut, à __DIR__.'/../tmp/' (en dehors du clône GIT) :

  1.     'build_dir' => __DIR__.'/phpdoc'
  2.     'cache_dir' => __DIR__.'/../tmp/cache/NAMEOFPACKAGE'

La dernière version de la documentation de la branche master est disponible en ligne pour tout nos paquets à l’adresse http://docs.ateliers-pierrot.fr.

PHPUnit : la suite de tests unitaires

Nous essayons de préparer une suite de tests unitaires pour valider chaque évoludtion de nos développements en utilisant PHPUnit. Nos tests peuvent le plus souvent ête trouvés dans le répertoire tests/ et la configuration PHPUnit est enregistrée dans un fichier phpunit.xml.dist. Si vous trouvez ce fichier dans l’un de nos paquets, vous pouvez lancer les tests en appelant en ligne de commande :

  1. ~$ path/to/phpunit

Utilisez l’option -h pour obtenir de l’aide ; beaucoup de variables de configuration peuvent être re-définies par des arguments en ligne de commande.

La plupart de nos paquets utilisant des tests unitaires sont intégrés à Travis CI (site des tests automatiques), qui valide les sources à chaque commit.

PHP Mess Detector : tester la qualité du code

Pour suivre les "bonnes pratiques" communes et garder notre code maintenable et compréhensible, nous essayons de le garder dans les limites acceptables de complexité et imbrication des langages de programmation. Pour tester la complexité du code, nous utilisons PHP Mess Detector, qui montre toutes les parties de code en dehors des limites fixées. "PHPMD" est la plupart du temps inclus dans les dépendances Composer de développement de nos paquets et sera donc installé automatiquement en utilisant l’option --dev de Composer.

Une fois installé, appelez en ligne de commande :

  1. ~$ php vendor/phpmd/phpmd/src/bin/phpmd src text codesize

Ou, pour une installation globale sur votre système :

  1. ~$ phpmd src text codesize

Le résultat est une liste des méthodes en dehors des limites fixées, ainsi que les fichiers et lignes relatifs.