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

WordPress, du bricolage au déploiement continue !

WordPress, du bricolage au déploiement continue !

WordPress est le CMS le plus utilisé sur le web, comment fiabiliser les développements et automatiser les déploiements sur cette plateforme ?

Les projets WordPress ne sont pas traités avec le même égard au niveau de la qualité du code, parce que c’est « juste » de l’intégration… Pourtant, il est possible de faire de la gestion de dépendance (Composer), des tests (PHPUnit), du code sniffing (PHP_CodeSniffer) et d’appliquer les pratiques du développement logiciel même lorsqu’on utilise ce CMS…

J’aimerais vous montrer comment automatiser votre workflow et comment obtenir un résultat de qualité. Je partagerai ma méthode et les outils que j’utilise de la mise en place du projet jusqu’à la mise en ligne.

0a201e04032d3b383f9047217dd69b9c?s=128

Stéphane HULARD

April 28, 2018
Tweet

Transcript

  1. W P W P D ! D !

  2. M ? M ? Consultant, Formateur, Contributeur.   

     
  3. D ? D ?

  4. G … G … … par les tests, et le

    code sniffing
  5. A W P ? A W P ? PHPUnit, PHP_CodeSniffer,

    WordPress-Coding-Standards
  6. U ? U ? <?php class CustomAttributesTest extends WP_UnitTestCase {

    public function test_custom_attributes_are_empty_by_default() { $payload = wpmautic_get_tracking_attributes(); $this->assertTrue(is_array($payload)); $this->assertEmpty($payload); } }
  7. L ' … L ' … Un peu de ligne

    de commande…
  8. G G composer install

  9. I I git clone --branch="$WP_VERSION" git://develop.git.wordpress.org/

  10. C … C … MySQL, wp-config.php mysql -u root -e

    "CREATE DATABASE wordpress_tests;" cp wp-tests-config-sample.php wp-tests-config.php sed -i "s/youremptytestdbnamehere/wordpress_tests/" wp-tests-config.php sed -i "s/yourusernamehere/root/" wp-tests-config.php sed -i "s/yourpasswordhere//" wp-tests-config.php
  11. E ! E ! vendor/bin/phpunit --bootstrap $WP_DIR/tests/phpunit/includes/bootstrap.php vendor/bin/phpcs -n --standard=phpcs.xml

  12. M , M , ? ?