Développement Article

Amélioration des performances de WPML

Amélioration des performances de WPML

Je sais que vous êtes plusieurs à utiliser WPML pour vos sites multilingues sous WordPress. Je m’en sert moi même pour quelques sites de ma compagnie et de clients. Je dois avouer que la performance de WPML a toujours été un petit problème qui pouvait même se révéler très dérangeant dans certain cas comme avec WooCommerce.

C’est toujours appréciable de voir qu’une équipe, comme celle de WPML, prends au sérieux les gens qui paye pour leur plugin et écoute le feedback.

D’où viennent / venaient les problèmes de performances

Lorsque j’utilise WPML, j’installe presque dans tous les cas, ces plugins « compagnons » : WPML String translation et WPML Media. Lorsque tout cela est installé sur votre WordPress, il y a 20 nouvelles tables MySQL qui s’installent. Pour comparaison, WordPress ne possède que 12 tables à lors d’une nouvelle installation. Donc voilà, WPML est gourmand en ressource mémoire et CPU pour les requêtes SQL qu’il exécute pour afficher les pages. Plus vous avez de chaînes traduites, plus il exécute des requêtes.

Dans le cas de WooCommerce, si vous utilisez les variations de produits (comme couleurs ou tailles), WPML démultiplie le nombre de requêtes ce qui fait chauffer le processeur et gonfler la mémoire. Ceci provoque un vrai goulot d’étranglement lors du chargement de la page.

Comment la version 3.5 de WPML améliore les performances

Peu importe ce que vous avez entendu sur WPML, je vous conseille de lui donner une chance avec cette version 3.5 (et plus). D’après un article de WPML, qui explique leur processus d’optimisation, des efforts ont été déployé pour tester différentes solutions et ont réussi à améliorer les performances de façon très perceptibles. Voici un tableau donné par l’équipe elle même qui explique les performances gagnées.

PHP version Page Memory consumption saving CPU utilization saving
PHP 5.6 Home 60% 41%
Admin dashboard 41% 33%
PHP 7 Home 50% 16%
Admin dashboard 33% 15%

Autant dire que ça fait une différence lors du chargement de vos pages mais aussi de l’admin. Pour ceux qui ont l’habitude d’attendre que l’admin se charge, je peux vous dire que c’est un vent de fraicheur 🙂

Je n’ai pas encore pu tester avec PHP7, mais comme l’explique WPML, les anciennes versions de WPML sont beaucoup plus réactives sur PHP7 que PHP5. Cependant il semble y avoir un boost de performance dans les 2 cas.

Pour les développeurs de sites WordPress qui utilisent souvent WPML, je pense que de mettre à jour le(s) plugin(s) est un must. Si vous avez l’occasion de pouvoir avoir un hébergement PHP7, vos clients et les visiteurs de ces sites ne pourrons que mieux vous aimer.

Si vous avez des retour d’expérience avec WPML, n’hésitez pas à mettre un message plus bas.

 

PS : Si vous passez par une de mes liens pour acheter WPML, je touche une petite commission. Sachez que ça ne vous coûte pas plus cher et que ça m’aide à sponsoriser ce genre d’article.
Tester PHP7 avec MAMP PRO 3

Tester PHP7 avec MAMP PRO 3

La dernière mouture de PHP est sortie en décembre 2015 dans un silence assez obscur, pourtant, si la version 6 de PHP est morte dans l’oeuf, PHP 7 semble très prometteur. Voici une liste de quelques nouveautés et améliorations de PHP 7 :

  • Performance améliorée : PHP 7 est jusqu’à 2 fois plus rapide que PHP 5.6
  • Réduction de l’utilisation mémoire
  • support du 64 bit plus consistant
  • Passage de beaucoup d’erreurs fatales en Exceptions
  • Générateur de nombre aléatoire sécuritaire
  • Classes anonymes

Tester votre code avec PHP 7 et d’autres versions de PHP grâce à MAMP PRO 3.

Si vous souhaitez tester votre code avec PHP 7 avant de passer en production, MAMP PRO 3 est solution vraiment simple. La version 3.5 propose nativement PHP7 et vous permet de faire un « virtual host » avec une version différente de PHP. Vous pourrez donc par exemple avoir un site en PHP 5.6, un autre en PHP 5.4.2 puis un dernier en PHP 7. MAMP PRO se révèle donc très pratique pour tester votre code sous différente version de PHP, une chose assez compliquée à mettre en place sur un serveur de production.

Capture d’écran 2016-02-17 à 22.03.36

MAMP PRO 3 se révèle donc très pratique pour tester votre code en local avec différentes versions de PHP. Avec l’évolution du paysage des hébergements dans les futurs mois, tester votre code dès maintenant pour se préparer à PHP7 semble être une bonne pratique. Étant donnée les gains de performance engendrés par PHP7, il se peut que beaucoup d’hébergeur passe à cette version pour faire quelques économies.

Si vous avez des questions, n’hésitez pas à les poser plus bas dans cette page. Ça me fera plaisir d’y répondre.

 

 

Tutoriel site web multilingue avec WordPress et WPML – Partie 1 – Installation et configuration

Tutoriel site web multilingue avec WordPress et WPML – Partie 1 – Installation et configuration

Créer un site web multilingue est toujours un beau problème. En France comme au Québec, en tant que freelance, il n’est pas rare d’avoir à faire un site web en plusieurs langues. J’ai donc décidé de faire un tutoriel qui portera sur comment utiliser WordPress et WPML pour créer un site multilingue. Il sera composé de 3 parties distincte. WPML est LE plugin à utiliser pour les sites multilingues. Même si payant (peu cher pour le service rendu à mon avis), ceci assure un suivi du plugin avec une équipe performante.

  1. Installation et configuration
  2. Traduction des articles, pages et custom post WordPress
  3. Traduction des chaînes de caractère (texte en PHP (hardcodé) dans le thème ou les widgets)

Installation de WPML

L’installation de WPML est très simple, et vous pouvez l’ajouter à n’importe quel moment du développement d’un site. Voici les étapes à suivre :

  • Aller sur le site de WPML : http://wpml.org/fr.
  • Décider le plan que vous souhaitez prendre. il existe 3 plans différents. Si vous faites un site web complet en utilisant WordPress comme un CMS, si vous utilisez les « custom posts » et « custom taxonomy » vous devrez prendre le plan CMS multilingue à 79$.
  • Une fois acheté vous allez pouvoir télécharger le plugin.
  • Aller dans l’admin de votre WordPress puis dans le menu « Extensions » puis « Ajouter », cliquez sur Ajouter une extension et sélectionné l’archive que vous venez de récupérer.
  • Une fois installé, vous verrez dans votre menu de gauche, un nouveau menu WPML.

Important : Si vous êtes développeur et que vous souhaitez utiliser le plugin WPML sur le site de vos clients, je vous encourage à prendre le plan CMS multilingue à vie.

Choisissez les langues du projet

Pour la configuration, c’est assez simple, il va vous falloir définir quelles langues vous souhaitez utiliser, quelle langue vous souhaitez par défaut, comment vous souhaitez ajouter visuellement le sélecteur de langue sur votre site et très important, la façon dont les URL vont fonctionner.

Voici une série d’images annotées qui vont vous aider à comprendre comment faire :

Window_et_Langues_‹_Fabline_—_WordPress

Window_et_Langues_‹_Fabline_—_WordPress 2

 

Choisir le format des URL pour les langues

Une fois les langues ajoutées au projet, vous devez spécifier la façon dont vous souhaiter que le système de langue fonctionne. Vous avez alors 3 choix :

  1. Langues différentes dans les répertoires (http://domaine.com/en/)
  2. Un sous-domaine différent pour chaque langue (http://en.domaine.com/)
  3. Langue ajoutée dans un paramètre GET (http://domaine.com?lang=en)

Pour ma part, je conseille souvent le choix 1 qui est à mon avis le plus jolie à l’oeil mais aussi qui semble être le meilleur choix pour votre SEO.

Sélecteur de langue

La rubrique suivante vous propose de régler la façon dont le sélecteur de langue va s’afficher. Je ne suis vraiment pas fan de cette façon de faire, je ne me sers donc juste pas de ce composant. Voici ce que je fais à la place et qui me donne beaucoup plus de liberté au niveau du placement et de la forme. Vous pouvez copier ce bout de code dans votre fichier functions.php :

Vous pouvez bien entendu modifier ce code pour afficher le sélecteur de langue de la façon que vous souhaitez. Une fois prêt, vous pouvez appeler cette fonction dans votre thème, là où vous souhaitez voir apparaître le sélecteur. Vous pouvez aussi ajouter du CSS pour habiller ce code HTML selon vos besoins.

Conclusion

Si vous avez besoin d’aide à cette étape (installation et configuration), laissez un message dans les commentaires et j’essayerais de vous aider au maximum de mes connaissances. La suite de ce tutoriel suivra sous peu et nous verrons le moyen de traduire les articles, pages er custom post. À bientôt !

bug wordpress – certains metapost ou custom fields n’apparaissent pas en mode « aperçu »

bug wordpress – certains metapost ou custom fields n’apparaissent pas en mode « aperçu »

Je suis tombé sur un méchant bug de WordPress qui m’a fait perdre beaucoup de temps alors j’aimerais partager la solution à ce problème ici à des fins d’archive et pour d’autres qui pourrait retrouver ce problème.

Explication du bug

Dans l’admin de WordPress il est possible de visualiser un article en mode aperçu pour tester et voir le rendu avant de mettre en ligne cet article. Dans mon cas et dans certains articles, j’avais des problèmes d’affichage liés au fait que certain metapost (Custom Fields) n’apparaissaient juste pas dans l’article.

Solution et méthode pour déboguer le problème

Après beaucoup de test de code et autre, j’ai vérifié que ce problème apparaissait uniquement dans l’admin et en mode preview. J’ai alors commencé par désactiver les plugins reliés uniquement à l’admin un par un …

Pour rappel, il y a 2 solutions efficaces pour déboguer Wordpress : 

  1. Désactiver tous les plugins et les remettre un par un en vérifiant que le problème n’est plus là à chaque fois afin d’isoler le plugin responsable du bug. (et oui, c’est souvent un plugin, rarement WordPress lui-même qui pose problème).
  2. Si vous êtes sur un site en production, des fois il est un peu barbare de désactiver tous les plugin puisque votre site pourrait ne plus ressembler à rien. L’autre méthode est alors de désactiver un plugin à la fois et le réactiver si le problème persiste. Lorsque le problème n’est plus là, vous devez avoir trouvé le plugin responsable !

Pour ma part, j’ai utilisé la 2e solution et j’ai rapidement isolé le plugin « Custom Fields Template ». Ce fidèle plugin presque installé depuis 4 ans, m’a fait perdre une demi-journée … après m’avoir fait gagner beaucoup de temps (je dois l’avouer).

Bref, si vous avez ce problème d’aperçu (preview) dans WordPress, c’est donc le plugin dont vous devrez vous séparer !

J’espère que ça aidera quelqu’un !

 

 

 

Créer un diagramme circulaire avec Google Charts

Créer un diagramme circulaire avec Google Charts

Grossièrement appelés diagrammes de Normandie « camemberts », les diagrammes circulaires sont parfaits pour résumer un ensemble de données à une variable. Il est très facile de créer ce type de diagramme grâce à des librairies comme Highchart ou Google Charts. Aujourd’hui, je vais vous montrer comment créer un diagramme circulaire grâce à Google Chart.

 

Comme vous le voyez, avec juste ces quelques lignes de code, on peut créer un diagramme circulaire vraiment facilement grâce à Google Charts.

Pratique pour un projet rapide, ou montrer des statistiques à votre boss d’une belle façon.