Catégorie : Programmation Web

programmation Web

  • WP-CLI, configuration et utilisation

    WP-CLI, configuration et utilisation

    Qu’est ce que WP-CLI

    WP-CLI est un ensemble de fonctionnalité en ligne de commande, permettant de gérer tous projets sur WordPress. Comme il est dit sur le site wp-cli.org, nous pouvons faire beaucoup de chose. Par exemple :

    • Installer un site (ou un multisite)
    • Générer, et gérer le fichier wp-config.php
    • Mise à jour des plugins, thèmes et traductions
    • etc…

    Utilisation de WP-CLI…

    Pour pouvoir utiliser WP-CLI, il est obligatoire d’installer sur votre poste (ou le serveur) le fichier PHAR qui va bien. Voici le script actuel d’installation :

    curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
    php wp-cli.phar --info
    chmod +x wp-cli.phar
    sudo mv wp-cli.phar /usr/local/bin/wp
    wp --info
    

    Et c’est suffisant. En tapant la commande wp –version, vous devriez avoir cette réponse : WP-CLI 1.5.0.
    Remarque : pour mettre à jour WP-CLI, il existe deux solutions, la première étant la commande wp cli update, la deuxième étant de repasser le script d’installation.

    Comme je disais dans l’introduction, il est possible d’installer WordPress avec WP-CLI, en quelques lignes.
    Voici le script minimal d’installation :

    wp core download --locale=fr_FR
    wp core config --dbname=wordpress --dbuser=root --dbpass=admin --dbprefix=wp_
    wp db create
    wp core install --url="http://local.wordpress/" --title="Example Site DEV" --admin_name=guillaume --admin_email=g.jf.richard@gmail.com --admin_password=guillaume;
    wp rewrite structure '/%postname%/' --hard
    wp rewrite flush --hard
    

    Voici ce que fait le script, ligne par ligne :

    Ligne 1 : Téléchargement des fichiers WordPress de base (en VF).
    Ligne 2 : Génération et lecture du fichier wp-config.php, avec les informations sur la base de donnée (nom BDD, utilisateur, mot de passe, préfixe des tables de la base)
    Ligne 3 : Création de la base de donnée
    Ligne 4 : Processus d'installation standard de WordPress, avec les informations qui vont bien (url du projet, titre du projet et informations de l'utilisateur).
    Ligne 5 : Met à jour la structure des liens (par exemple : /%postname%/)
    Ligne 6 : Réécriture des règles
    

    On obtient l’installation suivante :

    Et configuration plus poussé…

    Il est possible d’améliorer ce dernier script, grâce à un fichier de configuration.
    Vous pouvez en savoir plus directement sur la page dédié du site make.wordpress.org, la page est en anglais.

    En quelques mots, WP-CLI peut automatiquement découvrir et lire les options d’un fichier de configuration (si il existe).

    WP-CLI détecte tout d’abord le fichier wp-cli.local.yml, présent dans le répertoire courant du projet. Il détecte ensuite le fichier wp-cli.yml, présent aussi dans le dossier courant du projet.
    Pour finir, la détection de ~/.wp-cli/config.yml. Le chemin du fichier doit être défini par la variable d’environnement WP_CLI_CONFIG_PATH.

    Le fichier de configuration peut contenir beaucoup de chose, comme :

    • Les variables globales (de la BDD, des utilsateurs, etc…)
    • Les commandes à désactivées (selon l’environnement)
    • Les plugins et thèmes a installer (ou à désinstaller).
    • etc…

    Il existe un exemple de fichier wp-cli.yml, sur la page dédié du site make.wordpress.org. Il est compréhensible.

    Voici le fichier de configuration que je veux utiliser pour améliorer mon script d’installation :

    # Global parameter defaults
    color: true
    apache_modules:
      - mod_rewrite
    rewrite structure:
      - /%year%/%monthnum%/%postname%/
    core download:
      locale: fr_FR
    core install:
      admin_user: guillaume
      admin_password: guillaume
      admin_email: g.jf.richard@gmail.com
      title: WordPress Development
      url: http://local.wordpress/
    core config:
      dbuser: root
      dbpass: admin
      dbhost: localhost
      dbname: wordpress
      dbprefix: wp_
      extra-php: |
            define('WP_DEBUG', true);
            define('WP_CACHE', false);
    

    Reprenons mon précédent script d’installation de WP et modifions-le pour qu’il corresponde au fichier de configuration précédent.
    Voici ce que cela donne :

    wp core download
    wp core config
    wp db create
    wp core install
    wp rewrite structure --hard
    wp rewrite flush --hard
    

    En l’état, si vous lancez ce script, vous vous retrouverez avec un WordPress minimal, correspondant à l’autre script d’installation.
    Vous pourrez réutilisez ce script avec tous les fichiers de configuration wp-cli.yml que vous aurez, quelque soit le projet, quelque soit l’environnement.

    A partir de là, vous pourrez installer facilement n’importe quel projet WP en quelques secondes.

    Si vous avez des questions en relation à l’article, ou si vous voulez des précisions, n’hésitez pas à me le dire en commentaires, ou par mail.

    Liens

    L’interface de ligne de commande pour WordPress : https://wp-cli.org/fr/
    Commandes WP-CLI https://developer.wordpress.org/cli/commands/
    Handbook wp-cli https://make.wordpress.org/cli/handbook/

  • Introduction à GraphQL

    Introduction à GraphQL


    Pour cette semaine, voici une petite playlist Youtube sur GraphQL, une technologie créée par Facebook.

    GraphQL est considérée comme une alternative aux REST API

    Donnez-moi votre avis sur cette technologie.

  • Les bases de Symfony 4

    Les bases de Symfony 4

    Après avoir commencé à travailler sur un projet Symfony 4, je voulais partager avec vous les bases de travail avec cette version.

    Au lieu de vous faire un cours complet dessous, je vous donnerai les liens qui m’ont été très utiles.

    En premier lieu, voici quelques vidéos Youtube, regroupé dans une playlist. Les deux premières présentent Symfony 4 dans son ensemble, et les suivantes traitent de la partie développement.

    Ensuite, le tutoriel de Grafikart traitant des nouveautés Symfony 4. Il reprend tous ce qui a été dit dans la première vidéo de la playlist précédente.

    Pour finir, voici quelques liens de la documentation de Symfony 4

     

    Que pensez-vous de cette documentation pour apprendre les base de ce Framework ?

    Si vous connaissez un lien que l’on peut ajouter dans cette article, n’hésitez pas à le partager en commentaire.

  • Problème de Flux RSS sous WordPress

    Problème de Flux RSS sous WordPress

    En début de semaine, en faisant une recherche sur les JSON Feed, j’avais remarqué que les flux RSS de mon blog étaient bloqué depuis plusieurs mois.

    J’étais étonné de ce bug, car je n’avais techniquement rien fait pour le provoquer.

    Pour le corriger, j’ai donc fait une recherche sur google, et sur différentes plateformes dédiés à WordPress. Je suis finalement tombé sur le lien suivant : Flux RSS qui ne se met pas à jour sur les agrégateurs.

    Le lien ne propose pas de solution miracle, mais la personne qui a écrit le post (et qui avait donc le problème) liste tout un ensemble de chose qu’il avait fait pour corriger ce problème.

    J’ai donc suivi la liste, et j’ai remarqué que mon problème de flux venait d’un plugin.

    Je voulais partager cette info avec vous, et j’espère qu’elle vous aidera si vous avez ce problème.

  • Projet de Framework CSS : Introduction

    Projet de Framework CSS : Introduction

    Suite à mon article du 2 janvier, où je présentais mes projets et défis pour 2018, je vais maintenant présenter un de mes projets : le Framework CSS.

    J’ai commencé à réfléchir à ce projet courant décembre 2017, en lisant un livre sur le design : Le Manuel de design graphique.

    Les différents design de ce livre, et mes connaissances en CSS3, m’ont fortement inspiré et m’ont donné l’idée de créer de beau design en CSS.

    Je voudrais créer un framework différent de ceux existant sur le marché. Il serait plus basé sur le design de la page, sans oublié la possibilité d’y avoir du contenu. On pourrait donc le considéré comme un Framework orienté design.

    Pour le moment, je fais beaucoup de test, et j’essaye de m’inspirer de ce qui existe. Pour avoir une base de référence en design, je regarde des magazines, fait des photos, et veille aussi sur internet.

    J’ai quand même quelques idées de ce que je veux mettre en fonctionnalité dans ce framework, mais ce n’est pas encore gravé dans le marbre. J’ai même trouvé un nom, mais je ne sais pas encore si il est définitif.

    Ce que je peux dire, et que ce framework contiendra un système de grille, en Grid layout, et quelques autres fonctionnalités basé sur CSS3 (rotation, filtres, multi-colonne, etc…).

    Je pense faire 2 versions de ce framework:

    • La première, simplement en CSS avec quelques fonctionnalités.
    • La deuxième, plus complète et en SASS.

    Je vous tiendrai au courant rapidement, sur ce projet.