coupons de réductions Woocommerce

Créer des coupons de réductions Woocommerce

By | Aide et astuces, Plugin Wordpress, woocommerce | One Comment

Comment créer des coupons de réductions WooCommerce pour proposer des réductions à vos clients.

Les coupons de réductions WooCommerce appelés Codes promo dans sa version francophone, permettent aux e-commerçants de proposer des remises exceptionnelles à leurs clients.

Pour générer un code promo rendez-vous dans WooCommerce -> Codes Promo puis Ajouter un Code promo. Saisissez votre code dans le champ Code Promo. Le champ Description est peut être laissé vide.

En dessous, figure un menu à onglet vertical nommé Données Code Promo. C’est ici que l’on configure la promotion.

Dans l’exemple ci-dessous, le coupon de réductions WooCommerce permet d’obtenir une réduction de -20% sur l’ensemble du panier avec le code promo formation-wp et expire le 28/09/15.coupons de réductions Woocommerce

D’autres paramètres intéressants dans les onglet Restriction d’usage où il est possible de créer des conditions sur l’acceptation de la remise. Exemple: le panier doit attendre un montant minimum.

De même que Limite d’utilisation qui permet de créer une limite sur le nombre d’utilisations du code promo.

Pour éditer des coupons existants, retournez dans le menu WooCommerce -> Codes Promo puis cliquez sur le titre du code à modifier

payements en France pour WooCommerce

Les moyens de payements en France pour WooCommerce

By | Aide et astuces, woocommerce | No Comments

Tour d’horizon des différents moyens de payements en France pour WooCommerce, afin de commencer sont site e-commerce sur de bonne base.

Créer un site e-commerce avec le duo WordPress/WooCommerce est très simple et donc accéssible au plus grand nombre. Là où les choses se compliquent, c’est au moment de ratacher sont site e-commerce au compte courant de sa banque.
En effet, WordPress et WooCommerce sont des logiciels américains, il est donc pas supprenant de trouver une grande diversité de plugins et de service americains pour WooCommerce.
Et pourtant, c’est bien au millieu de cette jungle de plugins que l’on peut trouver des moyens de payement en France pour WooCommerce.

Note importante

Parmi les plugins proposés dans cet article, seul les plugins officiels WooCommerce et ceux reconnus comme étant fiables par WooCommerce seront présentés ici.

Formation-wp certifie n’avoir ancun partenariat ni même de faire du placement de produit. Pour rappel, l’objectif de cet article est bien de présenter différents moyents de payements en France pour WooCommerce, et non de convaincre ses lecteurs de choisir un plugins plutôt qu’un autre ni même de les faire changer de banque.

Les plugins WooCommerce

Nom Sources officiels Prix Surcouts par transactions Notes
Chèques Déjà inclus dans WooCommerce Gratuit Aucun Attention! en France, un chèque peut être refusé par votre banque deux semaines après son encaissement.
Paypal Déjà inclus dans WooCommerce Gratuit Avec un compte Paypal pro, il est possible de proposer le paiement par compte Paypal et par carte bancaire.
Payline Voir site officiel  Gratuit Voir site officiel
Ogone (ingenico) Voir site officiel
  • 79$ pour 1 site
  • 99$ pour 5 sites
  • 199$ pour 25 sites
Virement banquaire  Déjà inclus dans WooCommerce Gratuit Aucun Il faudra renseigner le SEPA (anciennement RIB/IBAN)
Payzen Voir site officiel  Gratuit Voir site officiel
Theme Wordpress gratuit en Material design

Theme WordPress gratuit en Material design

By | Le graphisme et wordpress, Thèmes Wordpress, Wordpress 4.2 | No Comments

Material Gaze est un theme WordPress gratuit en Material design. Basé sur le thème Stargazer, il reprend tous les codes du Material Design défini par Google.

Pour ceux qui ne connaissent pas encore le Material design, il s’agit d’un semble de règle de dessin établie par Google qui s’applique à la partie graphique des applications mobile (Android) et des sites Web.

Présenté en juin 2014 lors de la conférence Google I/O, commence doucement à conquérir le cœur des infographistes.

Pour ceux qui souhaitent rejoindre cette mouvance, voici un thème wordpress gratuit en Material design baptisé: Material Gaze.

Installation

Material Gaze, n’est pas un thème, mais un child theme (ou thème enfant) du thème Stargazer.

Par conséquant, il faut installé Stargazer et Material Gaze. Comme ils sont tous les deux gratuits, il est possible de lés installer de manière automatique.

Soit: Apparence -> Thèmes -> Ajout

Une fois Stargazer Material Gaze installé, activez Material Gaze.

Configuration

Les paramètres du thème se trouvent dans le menu Apparence -> Personnaliser et permettent d’effectuer les changements suivants:

Theme WordPress gratuit en Material design-2

  • Titre de site et slogan.
  • Disposition: choisissez entre quatre modèles de pages différents.
  • Couleurs: changez la couleur du texte d’en-tête, de l’arrière-plan ainsi que la couleur principale du thème.
  • Image d’en-tête: choisissez une image d’en-tête parmi les modèles proposés, ou bien choisissez une image personnelle.
  • Image d’arrière-plan: peur ceux qui n’ont pas pris la disposition 1 Column Wide, il est possible de changer l’image d’arrière-plan.
  • Navigation: trois emplacements sont prévus. Principal s’affichera en haut à droite, Secondaire juste au-dessus de l’image d’en-tête et Media sociaux dans le footer. Pour cet emplacement, créez un menu et placez-y des Liens vers vos pages de réseaux sociaux.
  • Widgets: un seul emplacement possible, il s’agit de la sidebare. Dans Disposition, l’option 2 Columns: Content / Sidebar ou 2 Columns: Sidebar / Content doit être activée.
  • Page d’accueil statique.

Ressources utiles

Tous savoir sur les thèmes enfants: Comment créer un thème enfant ?

Qu’est ce que le Material Design: Introduction au Material Design

WP-CLI

WP-CLI – Configurez WordPress en ligne de commande

By | côté serveur, Wordpress 4.2 | No Comments

WP-CLI est un petit fichier .phar, permettant la gestion de certaines tâches en ligne de commande.

WP-CLI est un logiciel qui s’adresse surtout au administrateurs systèmes qui doivent gérer un nombre conséquent de blog WordPress.
En effet ce couteau suisse en ligne de commande est le parfait compagnon pour manager l’installation de WordPress. Il est possible de mettre à jour les plugins, initialiser une installation multisite, et bien d’autres choses encore.

Prérequis

  • Un système d’exploitation de type UNIX (OS X, Linux, FreeBSD, Cygwin)
  • PHP 5.3.2 ou supérieur
  • WordPress 3.5.2 ou supérieur

Nota: pour les utilisateurs Windows, il faut savoir que WP-CLI n’est que partiellement compatible. Certaines commandes sont susceptibles de ne pas fonctionner.

Installation

Téléchargement du fichier via wget ou curl

# wget
$ wget https://raw.github.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

# curl
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Vérifiez qu’il n’y est pas erreurs

$ php wp-cli.phar --info

Si aucune erreur n’est retourné, il est à présent possible d’utiliser WP-CLI en ajoutant php wp-cli.phar avant chaque ligne de commande.
Pour une installation plus ergonomique, poursuivez les instructions suivantes.

Pour ne taper que wp au lieu de php wp-cli.phar il est nécessaire de créer un exécutable et de le placer dans un dossier où l’utilisateur système pourra l’exécuter.

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

# pour vérifier que tous fonctionne bien
$ wp --info

Pour ajouter l’auto complétion via la touche tabulation, télécharger le fichier <a href= »https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash » target= »_blank » title= »wp-completion.bash »>wp-completion.bash</a> puis ajouter-le comme fichier source dans <strong>~/.bash_profile</strong>

# téléchargement de wp-completion.bash
$ wget https://raw.githubusercontent.com/wp-cli/wp-cli/master/utils/wp-completion.bash

# Ajout de la source dans ~/.bash_profile
source /FULL/PATH/TO/wp-completion.bash

# Initialisation de la nouvelle source
$ source ~/.bash_profile

L’installation est à à présent complète. Tapé les lignes de commandes à la racine de WordPress ou dans l’un de ses sous-dossiers.

Quelques commandes utiles


# Afficher l'aide
$ wp help

# Installer un plugin (ex: hello dolly)
$ wp plugin install hello-dolly

Vérifier la présence de mises à jour de WordPress
$ wp core check-update

# Mise à jour de WordPress
$ wp core update

Toutes les commandes sont disponibles sur le site officiel.

Activer le protocole SSL sur votre site Wordpress

Activer le protocole SSL sur votre site WordPress

By | côté serveur, woocommerce, Wordpress 4.2 | No Comments

Cet article s’adresse à ceux qui souhaitent activer le protocole SSL sur votre site WordPress qui se trouve déjà en production.

Pourquoi activer le protocole SSL ?

Le protocole SSL pour Secure S Layer permet de crypter le téléchargent des pages. Ainsi, il n’est pas possible de récupérer au vol l’envoi de données d’un formulaire. Ce qui s’avère fortement utile pour les formulaires de payement sur les E-commerce.

De plus, Google et la fondation Mozilla (Firefox) encouragent les web-master à migrer du protocole HTTP à HTTPS.

Comment activer SSL ?

Avant de commencer, assurez-vous que la réécriture d’URL est bien active sur votre serveur (Apache2 mod_rewrite). et qu’il est possible d’éditer le fichier .htaccess ainsi que le fichier wp-config.php.

1. Côté serveur

L’activation propre dite du protocole SSL s’effectue sur le serveur. L’opération ne sera pas décrite ici car cela va dépendre de l’hébergeur de votre site. Toutefois il faut savoir que le cryptage des données s’effectue au moyen d’un certificat SSL qu’il faudra payer tous les ans.

2. Côté WordPress

La première étape consiste à mettre à jour l’URL de votre site. Rendez-vous dans la partie admin, allez dans Réglages -> Général puis dans les champs: Adresse web de WordPress (URL) et Adresse web du site (URL) ajouter un (s) devant le http. Enregistrez les modifications.

Ouvrer le fichier .htaccess et mettez-le à jour en fonction de la configuration ci-dessous:


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.mon-site.fr/$1 [R,L]
</IfModule>

Pour ceux qui utilisent nginx pour leur serveur Web, ajoutez à la suite le code ci-dessous


server {
listen 80;
server_name yoursite.com www.yoursite.com;
return 301 https://yoursite.com$request_uri;
}

Cela permettra à nginx de faire des redirections 301 de l’ancienne URL vers la nouvelle. Apache2 gérant cela très bien, il n’est pas nécessaire d’y ajouter ces paramètres supplémentaires.

Dernière étape, le fichier wp-config.php. Ajouter la constante suivante :


define('FORCE_SSL_ADMIN', true);

Cela activera le protocole SSL dans l’admin du site.

Structure de la base de données Wordpress

Structure de la base de données WordPress

By | Aide et astuces, côté serveur | One Comment

La structure de la base de données WordPress se présente sous la forme de onze tables ayant le préfixe wp_.

Introduction

WordPress à besoin que d’une seule et unique base de données de type SQL pour fonctionner. La connexion à cette base de données s’effectue à l’aide de PDO, ce qui offre un large choix de système de gestion de base de données.

Seules les onze tables par défaut de WordPress sont citées ici.

Il est possible que des plugins aient créé d’autres tables voire même d’autres bases de données. Si un plugin créé de nouvelles tables elles porteront le même préfixe que celle de WordPress. Si un plugin créé une nouvelle base de données, elle est soumise à aucune restriction particulière.

Le préfixe wp_ est proposé par défaut durant l’installation. Il est fortement conseillé de le remplacer. En effet, dans le cas d’une injection SQL il est plus facile de cibler vos tables si elles ont gardé le préfixe par défaut.

 

Tour d’horizon des différentes tables

wp_commentmeta et wp_comments permettent la sauvegarde des commentaires sur les publications de site.

wp-links n’est plus utilisée aujourd’hui. Il y a quelques années de cela, le tableau de bord de WordPress proposé un menu appelé Liens. Il permettait d’ajouter toute une liste de liens et de les grouper par catégorie. C’est dans cette table que se trouvaient les liens.

wp_options contient les valeurs des paramètres du menu Réglages.

wp_postmeta et wp_posts contiennentt toutes les publications du site. Soit, les pages, les articles et le(s) menu(s). Depuis l’arrivée de la fonction Révision qui pour rappel permet de restaurer une page ou un article à une date antérieure, chaque version sauvegardée génère une nouvelle ligne dans la table wp_posts.

wp-term_relationships, wp_term_taxonomy et wp_terms contiennent les informations relatives aux catégories d’articles, aux mots-clés (tags) des articles, ainsi que leur lien avec les différents pages et articles.

wp_user et wp_usermeta. WordPress sépare dans deux tables les utilisateurs. wp_user contient la plupart des champs qu’il faut obligatoirement remplir pour créer un utilisateur. C’est dans cette table que figurent les noms, les adresses Email ainsi que les identifiants et mots de passe (encrypté) mais pas les Rôles. Les rôles quant à eux figurent dans wp-usermeta ainsi que les valeurs des champs non obligatoires.

rss-functions.php

Full Path Disclosure sur le fichier rss-functions.php

By | Aide et astuces, côté serveur, Sécurité, Wordpress 4.2 | One Comment

Full Path Disclosure ou (FPD) est un faille de sécurité qui concerne le fichier /wp-includes/rss-functions.php sur les sites WordPress.

 

Qu’es ce qu’une Full Path Disclosure ?

Il s’agit d’une vulnérabilités permettent de voir le chemin d’accès au webroot dans la fenêtre du navigateur. Si votre site est assujettie à cette faille, le simple fait de taper l’URL complète du fichier rss-functions.php (ex: http://site-wordpress.fr/wp-includes/rss-functions.php) affichera dans le navigateur une Fatal error ainsi que le chemin complet depuis la racine du serveur jusqu’à ce fameux fichier rss-functions.php.

 

Fatal error: Call to undefined function _deprecated_file() in /homepages/19/d253383552/htdocs/wp-includes/rss-functions.php on line 8

 

La faille FDP est executé en injectant un caractère inattendu à certains paramètres d’une page web. Le script défaillant, ne s’attendant pas à l’injection de ce caractère, retourne un message d’erreur dans lequel figure, le nom de la fonction PHP incriminé _deprecated_file(), le webroot /homepages/19/d253383552/htdocs/ ainsi que le numéro de ligne où se trouve la fonction line 8.

 

Quel sont les risques ?

Les vulnérabilités FPD sont généralement perçues comme des menaces à faibles risques. Toutes fois, il ne faut pas oublier que les messages d’erreurs sont des gardes fous, qui s’adressent aux développeurs afin qu’ils puissent garantir code stable et intègre et non aux utilisateurs.

 

Local File Include et injection SQL

La faille Local File Include (LFI) permet l’injection de fichier malveillant sur le serveur. Quant à l’injection SQL appelé aussi faille XSS, permet quant à elle d’injecter du code (écrit en JavaScript) malveillant interprété par le serveur.

Mais pour s’assurer que ces scripts malveillants pointent bien vers les bons fichiers, il est nécessaire de connaitre son emplacement dans l’arborescence.

Et c’est à ce moment précis qu’une petite faille du type Full Path Disclosure est la bienvenue. Devenant pour l’occasion un véritable mouchard.

Comment combler la faille ?

 

La faille Full Path Disclosure peut être facilement comblé en désactivant l’affichage des messages d’erreur par le serveur Apache. Deux méthodes sont possibles:

Depuis le fichier de configuration de PHP, /etc/php5/apache2/php.ini


display_errors = 'off'

Depuis le fichier de configuration d’Apache, /etc/apache2/apache2.conf


php_flag  display_errors  off

Nota: Les chemins mentionnés ci-dessus s’appliquent au système  Debian et ses dérivée tel que Ubuntu. Il est possible que ces chemins diffèrent en fonction du système d’exploitation utilisé.

 

Le cas 1&1

Pour une raison inconnu, les serveurs Web de chez 1&1 sont configurer avec l’option display_errors = ‘on’. Malheureusement il n’est pas possible de changer ce paramètre sur off.

Pour résoudre ce problème, deux autres méthodes sont encore exploitables.

  1. La suppression pur et simple du fichier rss-functions.php. En effet, ce fichier est une relique, remplacé depuis par rss.php lui aussi un déprécier et remplacé par class-simplepie.php. Si après cette suppression, un plugin ou une fonction du thème rencontre des difficultés avec les flux RSS, rétablissez le fichier rss-functions.php et préférez la seconde méthode.
  2. Editer le fichier rss-functions.php et y ajouter le code ci-dessous juste avant la fonction:

(isset($var) && is_array($var)) ? logfunction() : /*continue*/;

Moins conviviales et pouvant être considérées comme du rafistolage, ces deux dernières méthodes ont un inconvenant commun: Les mise à jour de WordPress. A chaque fois que WordPress est mis à jour, un nouveau fichier rss-functions.php est créé, écrasant à chaque fois vos modifications. C’est pourquoi, il faudra renouveler l’opération après chaque mise à jour.

 

marqueurs conditionnels de Wordpress

Les marqueurs conditionnels de WordPress

By | Aide et astuces, Plugin Wordpress, Thèmes Wordpress, Wordpress 4.2 | One Comment

Les marqueurs conditionnels de WordPress permettent d’agir différemment sur le rendu d’un thème en fonction d’une situation spécifique.

Qu’entent-on par une situation spécifique ?

Par exemple, si l’on utilise la sidebar pour faire de la taxonomie, autrement dit afficher du contenu différent dans la sidebar en fonction de la page où l’internaute se trouve, il va falloir créer un modèle de page spécifique dans lequel figurera un marqueur conditionnel.

Liste des marqueurs conditionnels de WordPress

Il n’est pas question ici de lister tous les marqueurs conditionnels car ils sont bien trop nombreux, non l’objectif est de présenter une liste des marqueurs conditionnels les plus utilisés. Une liste complète est disponible sur le codex officiel de WordPress.

Fonction Condition Arguments (optionnels)
is_single() un article (seul) id, slug ou titre d’un ou plusieurs articles
is_singular() un article ayant un Custom Post Type en particulier Slug d’un ou plusieurs Custom Post Type
is_sticky() un article déclaré comme Mis en avant id d’un article
is_attachment() une image, une vidéo, un son
is_page() une page id, slug ou titre d’une ou plusieurs pages
is_page_template() un template de page en particulier nom du fichier (ex: page-fullwidth.php)
is_preview() lorsque l’on prévisualise une page ou un article
is_post_type_archive() une archive d’un Custom Post Type
is_category() une archive d’une catégorie id, slug ou titre d’une ou plusieurs catégories
is_tag() une archive d’un tag id, slug, ou titre d’un ou plusieurs tags
is_tax() une archive d’une taxonomie id, slug ou titre d’une ou plusieurs taxonomie
is_author() une archive d’un auteur id, slug ou pseudo d’un ou plusieurs auteurs
is_search() un résultat de recherche
is_404 une page d’erreur 404
is_home() la page principal
is_front_page() la page d’accueil
is_admin une page du tableau de bord de WordPress

 

Dans la colonne Argument, le terme id correspond à l’identifiant (ex: ?p=202). Quant au Slug cela correspond à un identifiant unique figurant dans l’URL à la suite du nom de domaine.

ex: www.formation-wp.com/contact //ici, l’identifiant de la page est contact

Utilisation des marqueurs conditionnels de WordPress

Les marqueurs conditionnels de WordPress s’utilisent avec la fonction if

Exemple avec is_page():

if (is_page('contact')) {
    echo "C'est bien la page contact !";
}

Dans l’exemple ci-dessous, est retournée la chaine de caractère suivante C’est bien la page contact ! si l’on est bien dans la page contact.

exemple avec plusieurs conditions

Quant un marqueur conditionnel accepte de recevoir plusieurs arguments, il faut insérer ces arguments dans un array.

if (is_author(array('Jean', 'Jacques', 'Martin'))) {
    //do something
}

Faire une migration Drupal vers WordPress

By | Aide et astuces, Plugin Wordpress, Wordpress 4.2 | No Comments

Cet article s’adresse aux utilisateurs Drupal qui souhaiteraient faire une migration Drupal vers WordPress en toute simplicité.

Le but de ici n’est pas de d’énigrer Drupal ni même d’inciter qui que ce soit à rejoindre la communauté WordPress. Non, l’objectif est bien de présenter une solution simple pour tous ceux qui veulent/doivent faire une migration Drupal vers WordPress.

L’opération s’effectuera à l’aide d’un plugin WordPress nommé Drupal2Wordpress.

Prérequis

Côté WordPress:

  • Une version récente de WordPress installée.
  • Les accès FTP à votre blog WordPress, soit l’adresse FTP, l’identifiant et le mot de passe.
  • (Optionnel) le logiciel Git installé sur votre PC/Mac.

Côté Drupal:

  • Drupal 7.0 au minimum d’installé.
  • L’adresse IP du serveur MySQL.
  • Le nom de la base de données.
  • L’identifiant de la base de données.
  • Le mot de passe de la base de données.

Installation de Drupal2Wordpress

Drupal2Wordpress est un plugin développé par Jeremy Simkins , qui permet d’importer les pages, les articles, les commentaires, les utilisateurs, les catégories, les mots clé et même les médias.

Ce plugin n’a pas été publié sur le site officiel de WordPress, mais sur le dépo Git du développeur.

Télécharger le plugin au format ZIP ou bien clonez le dépo avec le logiciel Git. Dans le dossier racine (Drupal2WordPress-Plugin) se trouve un sous-dossier nommé drupal2wp. Copiez-le dans le dossier /wp-content/plugin de votre blog WordPress.

Il faut à présent activer le plugin. Pour cela, allez dans le tableau de bord de WordPress (http://votre-site.net/wp-admin), puis dans le menu Extensions. Le plugin doit apparaitre sur deux lignes comme ci-dessous:

migration Drupal vers WordPress 2

Si Drupal2Wordpress n’apparaît pas, c’est que les restrictions en lecture, écriture et exécutions sont trop restrictives, dans ce cas appliquer un chomd 775 au dossier drupal2wp.

Activez au minimum Drupal 2 WordPress et éventuellement Drupal 2 WordPress Page Tags Support pour importer également les tags (mots-clé) des pages Drupal.

Importation Drupal vers WordPress

Toujours depuis le tableau de bord de WordPress, allez dans Outils > Importer puis cliquez sur Drupal 2 WordPress.

Saisissez les informations demandées puis cliquez sur Proceed to Next Step.