Un processus d’agence survitaminé et complètement optimisé
SMOOTHIE CREATIVE
WP-SPREAD.COM
Problématiques
Travailler en équipe sur un projet sans conflits
Devoir réecrire un code similaire sur plusieurs projets
Tâches similaires récurrentes non automatisées
Projets de plus en plus complexes
Objectifs du process
Automatiser & réutiliser
Gagner du temps
- Lors de la mise en place du projet
- Pendant le développement lui-même
Réutiliser sans recoder au maximum
Travailler sereinement en équipe
Eviter les erreurs humaines
Notre Process
WP-CLI pour la mise en place du projet en un clic
Utilisation d'un starter theme
Versionnement des projets avec Git
Préprocesseurs & Browser refreshing
Utilisation d'outils comme Emmet
Mise en ligne via Git ou FTP via Deploy
WP-CLI
Automatiser des tâches WP en ligne de commande
PréRequis
Sublime Text
éditeur de code
iTerm
console
Alfred
lanceur d'apps
Possibilités de WP-CLI
Télécharger WordPress
Télécharger et activer des thèmes, plugins
Installer et configurer WordPress
Créer, modifier ou supprimer des pages et articles
Modifier des options
Accéder à la base de données
Chercher des chaines et les remplacer
Exporter des données
Chercher des mises à jour
...
Exemples d'utilisation
Installer une nouvelle instance WordPress "from scratch"
(ce que l'on va voir aujourd'hui)
Vérifier les mises à jour de vos sites, à la manière du service Manage WP
Remplacer toutes les URL d'images locales (site.dev ou site:8888) par l'URL de production, à la manière de Velvet Blues URL (idéal pour thèmes premium)
...
Installer WP en 5 minutes
Pratique les premières fois, mais répétitif et long au bout du centième site
Beaucoup de tâches récurrentes à faire à
chaque fois manuellement pendant et
après l'installation
WP-CLI va nous permettre
d'automatiser cette tâche !
Listing des tâches
Créer une base de données dans phpMyAdmin
Créer un Alias Apache
Télécharger la dernière version FR de WordPress
Le placer dans votre dossier de travail
Installation en 5 minutes
- indiquer les accès à la base
- définir le nom du site, l'id et le mdp
Faire quelques réglages
Télécharger votre thème
L'activer
Télécharger vos plugins préférés
Les activer
Configurer votre thème et vos plugins
Définir la structure des permaliens (/%postname%/)
Supprimer Hello Dolly
Supprimer les thèmes twenty...
Supprimer les articles et pages de bases
Créer vos premières pages (Accueil, Actus, Contact...)
Créer votre menu principal
Assigner les pages à votre menu
Giter votre projet faire le premier commit
Ouvrir votre éditeur de code
Installer WP-CLI
Installation (wp-cli.org/)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Vérification
# FIX PHP MAMP for WP-CLI
export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH
export PATH=$PATH:/Applications/MAMP/Library/bin/
Mamp : Ajouter des Paths pour pointer vers le bon PHP
php wp-cli.phar --info
A mettre dans le fichier .zshrc situé à la racine du système ~/.zshrc
Notre Script BAsh
Nous avons réalisé un script Bash permettant d'automatiser toutes les tâches vues plus haut
Le script Bash est un fichier .sh qui peut être exécuté par un terminal via la commande suivante :
Le script bash nous permet d'accéder aux opérations système : créer un dossier, télécharger un fichier
et lancer les commandes WP-CLI
bash /path/to/myscript.sh argument1 argument2
Wippy
Wippy (。◕‿◕。) est notre script WP
Analysons le code Bash
Et ensuite nous lancerons une démo (amen)
Lancer le script via alfred
Il est possible de créer une action Alfred si vous possédez le PowerPack
Créer l'action Alfred
1. Définir un mot-clé
2. Action Terminal pour lancer le script bash
3. Notification système
1. Définir le mot clé
2. Lancer le script
{query} permet de récupérer les arguments
3. Notification OS
La démo !
themes
Starters / Blank / Frameworks / Selfmade
Starter themes
Thèmes de démarrage
Bones (http://themble.com/bones/)
Underscores (http://underscores.me/)
Frameworks
WooThemes Canvas (http://www.woothemes.com/products/canvas/)
Genesis (http://my.studiopress.com/themes/genesis/)
Thèmes "Nus"
Blank (http://html5blank.com/)
Votre propre starter theme ?
Nous utilisons notre propre thème, amélioré au fil des projets avec toutes les fonctionnalités de base dont on a besoin
WP 0 Theme (https://bitbucket.org/maximebj/wordpress-zero-theme)
Git
Versionner son projet et améliorer le flux de dév
Pourquoi versionner ?
Sauvegarde chaque étape de développement comme une sauvegarde dans un jeu vidéo
Travailler efficacement en équipe : fusion automatique des versions et aide à la résolution de conflits de code
Pousser en production en une commande
Partager facilement un projet Open Source
Wiki, Gestion des bugs/erreurs ...
Comment versionner ?
En ligne de commande
Pour les plus téméraires
Avec une application
Tower for Mac (http://www.git-tower.com/)
Github for Mac et windows (https://mac.github.com/)
hébergeR son code
Github.com
Beanstalkapp.com
Bitbucket.com (gratuit)
Aussi bien pour code open source que code privé
Préprocesseurs
Alléger l'écriture de votre HTML/CSS/JS
A quoi servent-ils ?
Ecrire moins de code
Lecture du code plus claire
Meilleure maintenabilité du code
DRY : Don't repeat yourself
Quelques prépocesseurs
CSS
Sass & Compass / Less / Stylus / Bourbon
JS
CoffeeScript
HTML
Haml
Exemples
Stylus
HAML
Quelles technos ?
Les préprocesseurs ont besoin d'être compilés à l'enregistrement pour devenir du js, html et css purs
La méthode brute
Grunt (http://gruntjs.com/)
La méthode douce
Codekit for Mac (https://incident57.com/codekit/)
Codekit
Compilation automatique de tous vos fichiers
Minification automatique
Vérification de votre code JS (JSHint)
Ajout des préfixs CSS automatique : Autoprefixr
Rafraichissement de la page automatique sur tous vos périphériques
...
Browser Refresh
Mettre à jour vos navigateurs, sur desktop / mobile / tablette automatiquement lors de l'enregistrement d'un fichier du site
Emmet
anciennement zencoding
Coder moins avec Emmet
Écriture abrégée
Après appui sur Tab
Mise en ligne
Automatisée pour gagner du temps et limiter les erreurs
Déploiement
Eviter une mise en ligne "à la main" pour éviter les erreurs
Vous pourrez pousser en ligne avec Git. Nous utilisons WP Engine pour héberger nos sites et nous pouvons "pousser" une version d'un clic en préprod ou prod
Déploiement rapide via FTP avec Dploy en nodejs
(https://github.com/LeanMeanFightingMachine/dploy)
Bien OrganisÉ
Gérer efficacement les projets, tâches,
travailler à distance en équipe ...
Bonus
Trello
Merci !
@maximebj
Mon blog : wp-spread.com
Notre agence web : smoothie-creative.com
Illustrations : https://dribbble.com/buatoom
Conférence WP Tech 2014 · WP-CLI
By maximebj
Conférence WP Tech 2014 · WP-CLI
- 22,402