WordPress

Fast and Furious

"Bootstrapez" votre projet WordPress
et tout ce qui va bien dedans
(theme, plugins, tools, workflow et bien d'autres…)
en quelques secondes !

MONS WORDPRESS MEETUP - OCTOBRE 2016

EPIC

We try to make
fun / web / stuff



EPIC.NET

Me

Thierry MICHEL, belge, plus tout jeune,
presque 20 ans de web…

Après quelques années comme formateur,
je suis de retour IRL
pour dresser des pixels chez EPIC,
une valeureuse agence digitale
et créative !

@thierrymichel

Time is …

Beer  \O/

(but it's up to you)

Workflow is getting

more and

more complex

Workflow is getting

more and

more complex

A generator?

What the heck!

Fast

But not furious

(sorry, dudes)

Why?

Standardization

Reliability

Maintenability & scalability

Yo!

it's time to demo…

Big picture

  1. Project creation
  2. Configuration
  3. Installation
  4. Dependencies
  5. Workflow setup
  6. First "dev build"

Hunder the hood


epic:generator
    ⊢ setup:subgenerator
         ∟ serveur, env variables, readme

    ⊢ coding:subgenerator
         ∟ editor config, linters

    ⊢ wordpress:subgenerator (optional)
         ∟ wp-epic:repo
             ∟ download, config, install - core, plugins, theme

    ⊢ database:subgenerator (optional)
         ∟ create DB

    ⊢ bootstrap:subgenerator (optional)
         ∟ bootstrap-epic:repo
             ∟ scaffolding, libs, shared, partials, mixins, extends, …

    ⊢ gulp:subgenerator
         ∟ gulp-epic:repo
             ∟ workflow with shared breakpoints, Sass, autoprefixr,
                        Browserify, Babel, stripDebug
                        concatenation, minification, sourcemaps,
                        images optimization, SVG sprite,
                        browsersync, build with revision, …


    ∟ git:subgenerator (optional)
         ∟ git remote config + .gitignore + Gitlab CI :)
 

Is this talk

about WORDPRESS ?

composer

johnpbloch/wordpress

+
public / licensed / private plugins (wpackagist, gitlab)

wp-cli


$ wp core download (via composer)

$ wp core config

$ wp core install

$ wp option update siteurl <%= wpURL %>/wp

$ wp theme install ./tmp/wordpress/<%= themeName %>.zip --activate',

$ wp plugin activate --all

$ wp theme delete $(wp theme list --status=inactive --field=name)

-----

$ wp search-replace --url="<%= wpURLFrom %>"
     "<%= domainFrom %>" "<%= domainTo %>" --all-tables
 

wp-cli.yml

path: <%= wpRoot %>
url: <%= wpURL %>
core config:
  dbuser: <%= dbUser %>
  dbpass: <%= dbPassword %>
  dbname: <%= dbName %>
  dbhost: <%= dbHost %>
  extra-php: |
    /*
     * Constante environnement
     */
    if( isset ($_SERVER['APPLICATION_ENV']) ) {
      define('APPLICATION_ENV', $_SERVER['APPLICATION_ENV']);
    } else {
      define('APPLICATION_ENV', 'dev');
    }

    if ( APPLICATION_ENV === 'dev' ) {
      define( 'WP_DEBUG', true );
    } else {
      define( 'WP_DEBUG', false );
    }
core install:
  title: <%= wpTitle %>
  admin_user: <%= wpUser%>
  admin_password: <%= wpPassword %>
  admin_email: <%= wpEmail %>
  skip-email: true

Finish line ?

Sorry, it seems to be
a never ending race…

WP Multisite

Gitlab API

Repositories CI (continuous improvement)

Browserify vs Google closure compiler

Vue.js

Yarn?, …

One last tip

Start, test, improve

and repeat…

(before hitting the road … again)

Thanks!

Let's drink a beer
and keep in touch

#sharethespeed

Made with Slides.com