Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Assurer la Qualité du code des projet Symfony2

Assurer la Qualité du code des projet Symfony2

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)

Avatar for Mohammed Rhamnia

Mohammed Rhamnia

April 26, 2014

Other Decks in Programming

Transcript

  1. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Assurance qualité sur les projets Symfony Mohammed Rhamnia Symfony-Tunisie 26 avril 2014 Mohammed Rhamnia Assurance qualité sur les projets Symfony
  2. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  3. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  4. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  5. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  6. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  7. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Mise en forme Tests Documentation PHP CODE SNIFFER ~$ pear install PHP_CodeSniffer ~$ ~$ pear config -show | grep php_dir ~$ ~$ cd /path/to/pear/PHP/CodeSniffer/ Standards ~$ ~$ git clone git :// github.com/opensky/ Symfony2 -coding -standard.git Symfony2 ~$ ~$ phpcs --config -set default_standard Symfony2 Mohammed Rhamnia Assurance qualité sur les projets Symfony
  8. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Mise en forme Tests Documentation PHP CODE SNIFFER Mohammed Rhamnia Assurance qualité sur les projets Symfony
  9. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  10. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Mise en forme Tests Documentation PHP Mess Detector ~$ pear channel -discover pear.phpmd.org ~$ ~$ pear channel -discover pear.pdepend.org ~$ ~$ pear install --alldeps phpmd/PHP_PMD ~$ phpmd repertoire_a_tester format_de_sortie[text|html|xml] rulesets[ codesize|unusedcode|naming|design] Mohammed Rhamnia Assurance qualité sur les projets Symfony
  11. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Mise en forme Tests Documentation PHP Mess Detector Mohammed Rhamnia Assurance qualité sur les projets Symfony
  12. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  13. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  14. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  15. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  16. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  17. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Mise en forme Tests Documentation Exemple Test Fonctionelle Mohammed Rhamnia Assurance qualité sur les projets Symfony
  18. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    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
  19. Qui suis-je ? C’est quoi la Qualité ? Outils d’assurance

    qualité Mise en forme Tests Documentation Merci Mohammed Rhamnia Assurance qualité sur les projets Symfony