SlideShare une entreprise Scribd logo
WP CLI
Le couteau suisse du développeur
Salut ! 👋
Benjamin Gosset
Développeur WordPress en Normandie
Contributeur (traduction, core, documentation)
@benjamingosset
>_ WP CLI c’est quoi ?
- WordPress Command Line Interface : Interface de commande en ligne (terminal)
- Intégration au projet WordPress depuis décembre 2017
- Maintenu et développé par la communauté, dirigé par Alain Schlesser
- Site officiel : https://wp-cli.org/fr/
- Documentation : https://make.wordpress.org/cli/handbook/
- 48 « commandes » de base avec des sous-commandes et des options
- Gestion de vos installations sans passer par le navigateur
>_Pourquoi utiliser WP CLI ?
- Automatisation des tâches répétitives (gestion des thèmes, extensions, utilisateurs, etc.)
- Développement collaboratif facilité avec des scripts et commandes communs
- Souplesse d’utilisation avec la possibilité de créer ses propres commandes
- Certaines extensions proposent des commandes WP CLI (WP Migrate DB Pro, WooCommerce,
SEOPress, Elementor, etc.)
- Effectuer des actions qui nécessiteraient l’installation d’extensions
- Possibilité de lancer des actions lourdes : le PHP CLI a des limites de temps d’éxécution
et de mémoire différentes du PHP HTTP
- Gain de temps dans les tâches de développement et de maintenance
>_Installation
- WP CLI est disponible par défaut chez certains hébergeurs et outils (O2switch, Hostinger, Local)
- La commande wp permet de vérifier si WP CLI est installé
- Étapes de l’installation
- Téléchargement sur le serveur d’une archive .phar
- Création de la commande wp
- Activation de l’autocomplétion
- Tutoriel : https://wpchannel.com/wordpress/tutoriels-wordpress/wp-cli/
- Composition des commandes : wp [composant][action][arguments]
- Installation et activation de WooCommerce : wp plugin install woocommerce --activate
- Accès via SSH
>_Gestion du coeur WP
Installation
wp core download
wp config create —dbname=wordpress —dbuser=user —dbpass=password —dbhost=localhost —dbprefix=wp_
wp core install --url=yourdomain.com --title=Site_Title --admin_user=admin_username --
admin_password=admin_password --admin_email=your@email.com
Mises à jour du coeur
wp core update
Mises à jour de la base de données
wp core update-db
Vérification de la version actuelle du coeur
wp core version
>_Gestion des thèmes
Installation
Activation
wp theme activate <nom-du-theme>
Lister les thèmes installés
wp theme list
Désactivation
wp theme deactivate <nom-du-theme>
Suppression
wp theme delete <nom-du-theme>
Créer un thème enfant
wp scaffold child-theme biarritz --parent_theme=twentytwenty
wp theme install <nom-du-theme> en ajoutant --activate (le thème sera installé et activé)
>_Gestion des extensions
Lister les extensions installées
wp plugin list
Activation
wp plugin activate <nom-du-plugin>
Désactivation
wp plugin deactivate <nom-du-plugin>
Installation
wp plugin install <nom-du-plugin>
Désinstallation
wp plugin uninstall <nom-du-plugin>
Mise à jour de toutes les extensions
wp plugin update --all
Installer et activer plusieurs extensions
wp plugin deactivate —all
wp plugin install jetpack wordpress-seo performance-lab --activate
>_Gestion des utilisateurs
& des rôles
Lister les utilisateurs
wp user list
Afficher les détails d’un utilisateur
wp user get <identifiant>
Créer un utilisateur
wp user create <nom-d-utilisateur> <adresse-email> --role=<role>
(le mot de passe est généré automatiquement)
Modifier les détails d’un utilisateur
wp user update <identifiant-de-l-utilisateur> --user_pass=<nouveau-mot-de-passe> --user_email=<nouvelle-
adresse-email>
Lister les rôles
wp role list
Créer un nouveau rôle
wp role create <nom-du-role> <description-du-role>
Supprimer un rôle
wp role delete <nom-du-role>
wp user list --format=csv
>_Gestion de la base de données
Exporter
wp db export <nom-du-fichier.sql>
Importer
wp db import <chemin-vers-le-fichier.sql>
Optimiser
wp db optimize
Effectuer un rechercher et remplacer
wp search-replace <ancienne-chaine> <nouvelle-chaine>
Afficher la taille de la base de données et de chaque table
wp db size
wp db size --tables --size_format=kb
Exécuter des requêtes SQL
wp db query <requête>
Supprimer les transients expirés
wp transient delete --expired
>_Commandes utiles
Régénérer les miniatures en masse
wp media regenerate --yes
Réinstaller le noyau WordPress en gardant les thèmes et les extensions installés
wp core download --skip-content --force
Générer des articles
wp post generate --count=10
curl -N https://loripsum.net/api/5 | wp post generate --post_content --count=10
Changer l’URL de WordPress
wp option update home ‘https://exemple.fr'
wp option update siteurl ‘https://exemple.fr'
Installer et activer une version spécifique d’un plugin
wp plugin install wordpress-seo --version=4.9 --activate
Dupliquer un post
wp post create --from-post=<post_id>
>_Vers l’infini et au-delà
- Concaténer les commandes pour lancer plusieurs actions avec une seule ligne
- Créer des scripts Bash pour les actions répétitives
wp language core install fr_FR && wp site switch-language fr_FR && wp option update timezone_string "Europe/Paris" && wp
option update time_format "Ghi" && wp option update date_format "j F Y" && wp option update start_of_week 1 && wp plugin
install woocommerce --activate && wp theme install storefront && wp scaffold child-theme biarritz --
parent_theme=storefront && wp theme activate biarritz
- Créer vos propres commandes WP CLI pour vos développements, notamment pour les
opérations lourdes en terme de temps d’exécution (synchronisation de données par exemple)
Ex : Sauvegarde du site (base de données + fichiers) :
- Créer un dump SQL
- Créer un zip avec le dump et les fichiers
- Envoyer le zip avec rsync sur un serveur distant
- ajouter le script bash dans une tâche CRON avec un intervalle de répétition
- Utiliser les résultats d’une commande en argument
wp post delete $(wp post list --post_type='product' --format=ids) --force
Merci à toutes et tous
Des questions ?

Contenu connexe

Similaire à WP CLI : le couteau suisse du développeur

Wordpress lille 24 juin 2015
Wordpress lille 24 juin 2015Wordpress lille 24 juin 2015
Wordpress lille 24 juin 2015
SamuelBourdon
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un AlfrescoPASCAL Jean Marie
 
Création de themes WordPress
Création de themes WordPressCréation de themes WordPress
Création de themes WordPressChi Nacim
 
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Ghilas BELHADJ
 
Alphorm.com Formation Apache - Le Guide Complet de l'administrateur
Alphorm.com Formation Apache - Le Guide Complet de l'administrateurAlphorm.com Formation Apache - Le Guide Complet de l'administrateur
Alphorm.com Formation Apache - Le Guide Complet de l'administrateur
Alphorm
 
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de  messagerie avec le Webmail RoundcubeRapport d’installation d’un serveur de  messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Balla Moussa Doumbouya
 
Sécuriser son site wordpress
Sécuriser son site wordpressSécuriser son site wordpress
Sécuriser son site wordpress
Prénom Nom de famille
 
05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf
bibouechristian
 
05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf
bibouechristian
 
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Patrick Guimonet
 
Formation wp contenu - livret
Formation wp   contenu - livretFormation wp   contenu - livret
Formation wp contenu - livret
CaroleTherrien1
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPressChi Nacim
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
SAIDRAISS2
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.
Boiteaweb
 
Sécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du web
Nour El Houda
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
Patrick Guimonet
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPress
IZZA Samir
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
Stéphane HULARD
 
Sécuriser un site Wordpress
Sécuriser un site WordpressSécuriser un site Wordpress
Sécuriser un site Wordpressbestyuna
 

Similaire à WP CLI : le couteau suisse du développeur (20)

Wordpress lille 24 juin 2015
Wordpress lille 24 juin 2015Wordpress lille 24 juin 2015
Wordpress lille 24 juin 2015
 
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
[DRAFT] Utiliser VmWare pour l'installation d'un Alfresco
 
Création de themes WordPress
Création de themes WordPressCréation de themes WordPress
Création de themes WordPress
 
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
Création de Thème WordPress - Ghilas BELHADJ - Semaine du Web 2013
 
Alphorm.com Formation Apache - Le Guide Complet de l'administrateur
Alphorm.com Formation Apache - Le Guide Complet de l'administrateurAlphorm.com Formation Apache - Le Guide Complet de l'administrateur
Alphorm.com Formation Apache - Le Guide Complet de l'administrateur
 
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de  messagerie avec le Webmail RoundcubeRapport d’installation d’un serveur de  messagerie avec le Webmail Roundcube
Rapport d’installation d’un serveur de messagerie avec le Webmail Roundcube
 
SAPIENS2009 - Module 4B
SAPIENS2009 - Module 4BSAPIENS2009 - Module 4B
SAPIENS2009 - Module 4B
 
Sécuriser son site wordpress
Sécuriser son site wordpressSécuriser son site wordpress
Sécuriser son site wordpress
 
05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf
 
05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf05 - creation-playbook-ansible-stack-lamp.pdf
05 - creation-playbook-ansible-stack-lamp.pdf
 
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
Réduisez vos Coûts d'Administration et les Risques d'erreurs avec Windows Pow...
 
Formation wp contenu - livret
Formation wp   contenu - livretFormation wp   contenu - livret
Formation wp contenu - livret
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
 
Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.Comment se charge WordPress ? Le loading du core.
Comment se charge WordPress ? Le loading du core.
 
Sécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du webSécuriser un site WordPress - Semaine du web
Sécuriser un site WordPress - Semaine du web
 
Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0Power Shell V2 en action - avec Posh Board 2.0
Power Shell V2 en action - avec Posh Board 2.0
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPress
 
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 WordCamp Lyon 2015 - WordPress, Git et l'intégration continue WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
WordCamp Lyon 2015 - WordPress, Git et l'intégration continue
 
Sécuriser un site Wordpress
Sécuriser un site WordpressSécuriser un site Wordpress
Sécuriser un site Wordpress
 

WP CLI : le couteau suisse du développeur

  • 1. WP CLI Le couteau suisse du développeur
  • 2. Salut ! 👋 Benjamin Gosset Développeur WordPress en Normandie Contributeur (traduction, core, documentation) @benjamingosset
  • 3. >_ WP CLI c’est quoi ?
  • 4. - WordPress Command Line Interface : Interface de commande en ligne (terminal) - Intégration au projet WordPress depuis décembre 2017 - Maintenu et développé par la communauté, dirigé par Alain Schlesser - Site officiel : https://wp-cli.org/fr/ - Documentation : https://make.wordpress.org/cli/handbook/ - 48 « commandes » de base avec des sous-commandes et des options - Gestion de vos installations sans passer par le navigateur
  • 5.
  • 7.
  • 8. - Automatisation des tâches répétitives (gestion des thèmes, extensions, utilisateurs, etc.) - Développement collaboratif facilité avec des scripts et commandes communs - Souplesse d’utilisation avec la possibilité de créer ses propres commandes - Certaines extensions proposent des commandes WP CLI (WP Migrate DB Pro, WooCommerce, SEOPress, Elementor, etc.) - Effectuer des actions qui nécessiteraient l’installation d’extensions - Possibilité de lancer des actions lourdes : le PHP CLI a des limites de temps d’éxécution et de mémoire différentes du PHP HTTP - Gain de temps dans les tâches de développement et de maintenance
  • 10. - WP CLI est disponible par défaut chez certains hébergeurs et outils (O2switch, Hostinger, Local) - La commande wp permet de vérifier si WP CLI est installé - Étapes de l’installation - Téléchargement sur le serveur d’une archive .phar - Création de la commande wp - Activation de l’autocomplétion - Tutoriel : https://wpchannel.com/wordpress/tutoriels-wordpress/wp-cli/ - Composition des commandes : wp [composant][action][arguments] - Installation et activation de WooCommerce : wp plugin install woocommerce --activate - Accès via SSH
  • 11.
  • 13. Installation wp core download wp config create —dbname=wordpress —dbuser=user —dbpass=password —dbhost=localhost —dbprefix=wp_ wp core install --url=yourdomain.com --title=Site_Title --admin_user=admin_username -- admin_password=admin_password --admin_email=your@email.com Mises à jour du coeur wp core update Mises à jour de la base de données wp core update-db Vérification de la version actuelle du coeur wp core version
  • 15. Installation Activation wp theme activate <nom-du-theme> Lister les thèmes installés wp theme list Désactivation wp theme deactivate <nom-du-theme> Suppression wp theme delete <nom-du-theme> Créer un thème enfant wp scaffold child-theme biarritz --parent_theme=twentytwenty wp theme install <nom-du-theme> en ajoutant --activate (le thème sera installé et activé)
  • 16.
  • 18. Lister les extensions installées wp plugin list Activation wp plugin activate <nom-du-plugin> Désactivation wp plugin deactivate <nom-du-plugin> Installation wp plugin install <nom-du-plugin> Désinstallation wp plugin uninstall <nom-du-plugin> Mise à jour de toutes les extensions wp plugin update --all Installer et activer plusieurs extensions wp plugin deactivate —all wp plugin install jetpack wordpress-seo performance-lab --activate
  • 19.
  • 21. Lister les utilisateurs wp user list Afficher les détails d’un utilisateur wp user get <identifiant> Créer un utilisateur wp user create <nom-d-utilisateur> <adresse-email> --role=<role> (le mot de passe est généré automatiquement) Modifier les détails d’un utilisateur wp user update <identifiant-de-l-utilisateur> --user_pass=<nouveau-mot-de-passe> --user_email=<nouvelle- adresse-email> Lister les rôles wp role list Créer un nouveau rôle wp role create <nom-du-role> <description-du-role> Supprimer un rôle wp role delete <nom-du-role> wp user list --format=csv
  • 22.
  • 23. >_Gestion de la base de données
  • 24. Exporter wp db export <nom-du-fichier.sql> Importer wp db import <chemin-vers-le-fichier.sql> Optimiser wp db optimize Effectuer un rechercher et remplacer wp search-replace <ancienne-chaine> <nouvelle-chaine> Afficher la taille de la base de données et de chaque table wp db size wp db size --tables --size_format=kb Exécuter des requêtes SQL wp db query <requête> Supprimer les transients expirés wp transient delete --expired
  • 25.
  • 27. Régénérer les miniatures en masse wp media regenerate --yes Réinstaller le noyau WordPress en gardant les thèmes et les extensions installés wp core download --skip-content --force Générer des articles wp post generate --count=10 curl -N https://loripsum.net/api/5 | wp post generate --post_content --count=10 Changer l’URL de WordPress wp option update home ‘https://exemple.fr' wp option update siteurl ‘https://exemple.fr' Installer et activer une version spécifique d’un plugin wp plugin install wordpress-seo --version=4.9 --activate Dupliquer un post wp post create --from-post=<post_id>
  • 29. - Concaténer les commandes pour lancer plusieurs actions avec une seule ligne - Créer des scripts Bash pour les actions répétitives wp language core install fr_FR && wp site switch-language fr_FR && wp option update timezone_string "Europe/Paris" && wp option update time_format "Ghi" && wp option update date_format "j F Y" && wp option update start_of_week 1 && wp plugin install woocommerce --activate && wp theme install storefront && wp scaffold child-theme biarritz -- parent_theme=storefront && wp theme activate biarritz - Créer vos propres commandes WP CLI pour vos développements, notamment pour les opérations lourdes en terme de temps d’exécution (synchronisation de données par exemple) Ex : Sauvegarde du site (base de données + fichiers) : - Créer un dump SQL - Créer un zip avec le dump et les fichiers - Envoyer le zip avec rsync sur un serveur distant - ajouter le script bash dans une tâche CRON avec un intervalle de répétition - Utiliser les résultats d’une commande en argument wp post delete $(wp post list --post_type='product' --format=ids) --force
  • 30. Merci à toutes et tous Des questions ?