Skip to content

jobarbo/joy

Repository files navigation

Start-up d'un projet Wordpress

Si vous aidez sur un projet déjà démarré, allez directement à Aider sur un projet Wordpress

Contenu

Exigences

  • Git
  • PHP >= 5.4 (pour Composer)
  • Ruby >= 1.9 (pour Capistrano, seulement pour faire un déploiement)

Installer Composer

Si vous avez déjà Composer, passez à l'étape suivante Installation et utilisation

Pour Mac: utilisez les commandes suivantes :

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Pour plus d'information Get Composer Mac

Pour Windows: Téléchargez et installez Composer

Pour plus d'information Get Composer Windows

Installation et utilisation

Note: Pour faciliter la gestion du contenu et de la database Wordpress, nous vous conseillons de faire une demande pour le setup d'un serveur de développement ainsi qu'une database pour votre projet. Cela évitera d'avoir à exporter et importer des bases de données sans cesse!

  1. Dans votre terminal, assurez-vous d'être au path root de votre environnement local, exemple : /Applications/MAMP/htdocs/.

  2. Utilisez la commande suivante :

     composer create-project o2web/bedrock --stability=dev --repository-url=https://satis.o2web.ca/ <nom-du-projet>
    

    Remplacez <nom-du-projet>, et gardez l'espace qui le précéde.

  3. Répondre "yes" aux questions "Generate salts and append to .env file?" et "Do you want to remove the existing VCS (.git, .svn..) history?"

  4. Ouvrez .env ( situé à la racine de votre nouveau projet ) à l'aide de votre éditeur de texte préféré et insérez les informations de votre database local ou remote.

    • DB_NAME - Nom de la database
    • DB_USER - User de la database
    • DB_PASSWORD - Mot de passe de la database
    • DB_HOST - Le host de la database
    • WP_ENV - Spécifier l'environment (development, staging, production)
    • WP_HOME - URL de votre site (http://example.com)
    • WP_SITEURL - URL vers Wordpress (http://example.com/wp)
  5. Configurez votre serveur Apache (MAMP ou XAMPP) pour que le root pointe sur exemple : /Applications/MAMP/htdocs/<nom-du-projet>/web/

  6. Allez sur votre adresse locale, exemple: http://localhost:8888, configurez le Wordpress!

  7. Et voilà!




Assets - Télécharger les dépendances

Vous avez cloné le dossier des assets, mais quelques fichiers ne sont toujours pas téléchargés (les plugins js, par exemple).

  1. À l'aide du terminal, rendez-vous à l'intérieur du dossier _gulp. Dans un projet Bedrock, vous trouverez le dossier ici -> web/app/themes/<votre theme>/assets/_gulp

  2. sh setup.sh pour installer gulp et les autres dépendances en mode Global.

  3. gulp pour démarrer Gulp.


À noter que les erreurs suivantes sont normales ... elles signifient que le module n'existe pas en version globale, et conséquemment, il sera installé.

npm ERR! code 1
gulp-rename not found.
Installing gulp-rename@^1

Télécharger/mettre à jour les plugins Javascript

Si vous avez modifié la liste des plugins dans le fichier _gulp/requireJS.json, vous devrez rouler la commande suivante avant de pouvoir les utiliser : sh setup.sh bower

Mettre à jour les dépendances Gulp

Si vous avez déjà des dépendances Nodes installés sur votre poste, et que vous voulez toutes les mettre à jour en même temps, utilisez la commande sh setup.sh update

Désinstaller les dépendances Gulp

Si vous désirez désinstaller toutes les dépendances d'un coup, utilisez la commande sh setup.sh uninstall

Erreur de permissions

Si vous avez une erreur de permissions, vous pouvez faire l'installation en mode Super User avec la commande : sudo sh setup.sh. Il vous faudra alors entrer le mot de passe de votre utilisateur sur votre poste.




Setup du Git

Un simple rappel qu'il serait maintenant temps de créer votre projet sur Git et d'y mettre vos fichiers de base avant de commencer votre développement.

  1. Créez votre projet sur Gitlab
  2. Faites les commandes suivantes dans votre terminal à la racine de votre projet :
    • git init

    • git checkout -b develop

      Il est conseillé d'utiliser une branche "develop" pour votre développement et non "master".

    • git commit -m "first commit" -a

    • git remote add origin [email protected]:<votre-nom>/<nom-du-projet>.git

      Cette ligne vous est fourni dans les étapes suivant la création de votre projet.

    • git push -u origin develop

Changer la langue de l'admin de Wordpress

Par défaut, Wordpress est installé en anglais. Si vous désirez avoir l'admin en une autre langue(français par exemple), juste a changer la variable

define('WPLANG', '');

dans le fichier config/application.php par:

define('WPLANG', 'fr');

Dans le cas très improbable où vous auriez a installer wordpress dans une autre langue, vous pouvez ajouter

"koodimonni-language/<votre code de langue ici>": "dev-master",

au packages requis dans composer. La liste disponible est ici: http://languages.koodimonni.fi/




Plugins Wordpress

Les plugins que nous utilisons couramment sont déjà inclus dans le composer.json, Ils seront donc déjà installés dans votre projets. Ceci inclus Advanced Custom field et toutes ses extensions. Pour installer un plugin wordpress gratuit (disponible dans le plugin directory), procédez comme suit:

  • Trouver le nom du package / plugin qu'on veut installer en se référant au wordpress plugin directory.
  • Trouver le package associé sur Wp-Packagist
  • Ajouter le plugin au fichier composer.json
  • Lancer la mise à jour avec la commande composer update



Exemple

Sur le site de wordpress: Intuitive Custom Post Order

Sur le le repo packagist: http://plugins.svn.wordpress.org/intuitive-custom-post-order/

Utiliserait la commande suivante dans le terminal pour l'ajouter au projet :

composer require wpackagist-plugin/intuitive-custom-post-order:dev-trunk

A propos des versions des plugins

Par défaut, les plugins vont avoir une version courante, considérée comme la version la plus récente, appelée dev-trunk.

Pour verrouiller l'installation à une version particulière, vous pouvez utiliser les tags de version tels qu'il apparaissent dans le changelog du plugin de wordpress.

Seulement les tags numériques sont valides:

  • 3.9.x-dev (non valide)
  • 3.9.2 (valide)

Installation d'un plugin qui n'est pas sur WP-Packagist à l'aide du lien de téléchargement

Ajouter les lignes suivantes dans composer.json, dans la section repositories.

{
    "type": "package",
    "package": {
        "name": <nom-du-plugin>,
        "version": <version-du-plugin>,
        "type": "wordpress-plugin",
        "dist": {
            "type": "zip",
            "url": <url-du-zip-du-plugin>
        },
        "require" : {
        "composer/installers": "~1.0"
        }
    }
}

Et dans la section require:

<nom-du-plugin>: <version-du-plugin>

Aider sur un projet Wordpress

Note : Ceci est pour faire une installation local seulement.

  1. Dans votre terminal, assurez-vous d'être au path root de votre environnement local, exemple : /Applications/MAMP/htdocs/.
  2. Git clone du projet sur lequel vous devez aider [email protected]:<nom-du-master>/<nom-du-projet>.git
  3. Déplacez-vous au root du projet cd <nom-du-projet>
  4. Utilisez la commande suivante: composer run-script post-root-package-install
  5. Utilisez la commande suivante: composer install
  6. Ouvrez .env ( qui se situe au root du projet ) à l'aide de votre éditeur de texte et insérez les informations de database local ou remote.
    • DB_NAME - Nom de la database
    • DB_USER - User de la database
    • DB_PASSWORD - Mot de passe de la database
    • DB_HOST - Le host de la database
    • WP_ENV - Spécifier l'environment (development, staging, production)
    • WP_HOME - URL de votre site (http://example.com)
    • WP_SITEURL - URL vers Wordpress (http://example.com/wp)
  7. Configurez votre serveur Apache (MAMP ou XAMPP) pour que le root pointe sur exemple : /Applications/MAMP/htdocs/<nom-du-projet>/web/

Déployer avec Capistrano

Gems requis:

  • capistrano (> 3.2.0)
  • capistrano-composer

Ils peuvent être installés à l'aide de la commande : gem install <nom-du-gem> mais nous recommandons d'utiliser Bundler. Bundler est simplement l'équivalent Ruby de Composer. Tout comme Composer gère les dépendances/packages PHP, Bundler gère les dépendances/gems Ruby. Bundler est lui même un Gem et peut être installé avec la commande : gem install bundler (sudo peut être requis).

Le Gemfile au root du repo specifie les Gems requises (au même titre que composer.json). Une fois Bundler installé, exécutez

bundle install

pour installer le Gem dans le Gemfile. En utilisant Bundler, vous devrez prefixer la commande cap avec bundle exec comme illustré plus bas (ce qui garanti que vous n'utilisez pas de Gems qui peut provoquer des conflits).

Voir http://capistranorb.com/documentation/getting-started/authentication-and-authorisation/ pour la meilleure façon de mettre en place des authentifications de clé SSH à vos serveurs de sans mot de passe (et sécuriser) le déploiement.

Étapes de déploiement

VÉRIFIEZ QUE VOTRE CODE EST COMMITÉ ET PUSHÉ DANS LA BONNE BRANCHE AVANT DE LANCER LE DÉPLOIEMENT

  1. Éditez config/deploy/<stage>.rb et config/deploy.rb avec les options de connexion et paramètres nécessaires au déploiement.

  2. Avant votre premier déploiement, utilisez la commande suivante pour créer les dossiers/symlinks nécessaires:

     bundle exec cap <stage> deploy:check
    

    Note : Si l'étape 2 retourne une erreur de login, utilisez la commande suivante avant de refaire l'étape 2 à nouveau :

     ssh-copy-id <user>@<host>
    

    Alternativement, si vous n'avez pas installé ssh-copy-id, vous pouvez utiliser la commande suivante (qui est équivalente):

     cat ~/.ssh/id_rsa.pub | ssh <user>@<host> 'mkdir -p .ssh && touch .ssh/authorized_keys && cat >> .ssh/authorized_keys'
    

    Remplacez <user> et <host>.

    ATTENTION: n'oubliez pas dans tous les cas de charger votre clef ssh dans l'agent SSH en utilisant la commande suivante si vous éprouvez des problèmes de connexion.

     ssh-add
    

    Vous devriez recevoir une réponse indiquant que votre clé ssh a été chargée ex: Identity added: /Users/louim/.ssh/id_rsa (/Users/louim/.ssh/id_rsa)

    Vous aurez une erreur spécifiant que le fichier .env est manquant, procédez à l'étape 3. Ceci est normal.

  3. Ajoutez le fichier .env (changez les informations nécéssaires une fois le fichier transféré) au dossier shared/ dans le path <deploy_to> (spécifié dans le fichier deploy.rb) sur le remote server (ex: /home/<user>/<nom-de-l'application>/<stage>/shared/.env)

  4. Utilisez la commande de déploiement :

     bundle exec cap <stage> deploy
    

    Remplacez <stage> par "staging" ou "production" dépendant de votre besoin.

  5. (Optionnel) Utilisez la commande bundle exec cap <stage> uploads:sync Pour synchroniser les fichiers uploadés entre votre version locale et le serveur. Attention, il s'agit d'une synchronisation bidirectionnelle. Pour synchroniser les fichier entre le staging et la production, utilisez bundle exec cap staging uploads:sync pour ramener les uploads puis bundle exec cap production uploads:sync pour les envoyer en production.

wp-cron

Bedrock Désactive le WP Cron via define('DISABLE_WP_CRON', true);. Si vous avez besoin des fonctionalitées du cron de Wordpress (exemple les post qui se publient à une heure précise), vous devez aller ajouter un cronjob dans le crontab manuellement:

*/5 * * * * curl http://<website_url>/wp/wp-cron.php

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published