Les slides pour la présentation "Assurer la qualité du code des projet Symfony2" du workshop que j'ai animé le 26-04-2014 à la Faculté des sciences de Tunis(FST)
qualité Assurance qualité sur les projets Symfony Mohammed Rhamnia Symfony-Tunisie 26 avril 2014 Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Qui suis-je ? Mohammed Rhamnia Symfonian depuis 6 ans. Ingénieur Développeur chez Edatis. Consultant Symfony Indépandant. Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Les critères de qualité Les critères pour un Symfonian C’est quoi la Qualité ? Pouvez-vous comprendre votre code aprés quelques temps ? Es ce que les autres peuvent comprendre votre code ? Es ce que votre application a été bien testé ? Avez vous déjà publié un code buggé ? Es ce que votre code a été bien documenter ? Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Les critères de qualité Les critères pour un Symfonian Les critères de qualité Capacité fonctionelle Fiabilité Facilité d’utilisation Maintenabilité Rendement / Scalabilité Portabilité Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Les critères de qualité Les critères pour un Symfonian Les critères de qualité pour un Symfonian Mise en forme Tests Documentation Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation PHP_CODE_SNIFFER PHPCS : Detecteur des violation des conventions de codage Une classe par fichier. Tout documenter. Organisation des méthodes. camelCase http://symfony.com/doc/current/contributing/code/ standards.html Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation PHP Mess Detector PHPMD : Assurer la qualité de code. Code inutile. Imbrications trop complexes. CPD Dead Code Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation Pourquoi Tester ? BUT : Assurer la bonne qualité de projet Tests fonctionnels Tests de performance Tests de robustesse Tests de vulnérabilité Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation PhpUnit PhpUnit : Framework pour créers des testes pour des applications php. Tests fonctionnels Tests Unitaire ~$ pear config -set auto_discover 1 ~$ ~$ pear install pear.phpunit.de/PHPUni Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation Exemple Test Unitaire // src/Acme/DemoBundle/Utility/ Calculator.php namespace Acme\DemoBundle\Utility; class Calculator { public function add($a , $b) { return $a + $b; } } Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation Exemple Test Unitaire // src/Acme/DemoBundle/Tests/Utility/ CalculatorTest.php namespace Acme\DemoBundle\Tests\Utility; use Acme\DemoBundle\Utility\Calculator; class CalculatorTest extends \ PHPUnit_Framework_TestCase { public function testAdd () { $calc = new Calculator (); $result = $calc ->add(10, 10); $this ->assertEquals (20, $result); } } Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation Exemple Test Unitaire ~$ cp app/phpunit.xml.dist app/phpunit. xml ~$ ~$ phpunit -c app src/Acme/DemoBundle/ Tests/Utility/CalculatorTest.php Mohammed Rhamnia Assurance qualité sur les projets Symfony
qualité Mise en forme Tests Documentation Sami Sami : Yet another PHP API documentation generator. Facile à installer Rapide Moderne ~$ git clone https :// github.com/fabpot/Sami. git ./ sami ~$ cd sami ~$ composer install ~$ php sami.php update ../ pull/SamiConfig. php Mohammed Rhamnia Assurance qualité sur les projets Symfony