16 août 2010 §
Il y a quelque temps, Matt et Automattic ont annoncé le lancement de VaultPress, un plugin permettant de sécuriser une installation WordPress. On me demande régulièrement, la meilleure méthode pour sécuriser un site web fonctionnant avec WordPress, et ma réponse est la suivante : « Backup journalière des fichiers et de la base de données sur 2 points de stockage ». Et oui la meilleure sécurité, c’est la sauvegarde !

Alors, lorsque j’ai appris le lancement de VaultPress, je me suis dit dans un premier temps : chouette un plugin améliorant la sécurité de WordPress, mais après avoir lu et visionner la vidéo de présentation, j’ai compris qu’il ne s’agissait que d’un plugin de backup automatique des données, alors effectivement on peut se poser la question de l’intérêt de ce service pour les personnes ayant un serveur dédié, mais sur un mutualisé milieu/haut de gamme et/ou pour un blog sensible le service peut s’avérer intéressant.

J’ai donc décidé de postuler à l’inscription de la béta, une première fois pour mon blog perso, sans réussite. Et une seconde fois, pour le site WordPress Francophone, et bingo, 5 jours après je reçois la fameuse invitation permettant de s’inscrire au service !
Lors de l’inscription au service, on vous propose 3 niveaux de service, le basique qui comprend toutes les fonctionnalités de backup, le niveau premium qui offre du support technique en plus et enfin un niveau entreprise disponible après contact pour des services plus personnalisés, audit du code, etc. Le service basique est facturé 15$/mois, tandis que le service premium est facturé 40€/mois.
Dans le cadre de WordPress Francophone, j’ai choisi l’abonnement à 15$/mois afin de tester à moindre coût le service.

Le plugin
Une fois payé, on vous propose de télécharger une extension à installer sur le blog WordPress de votre choix. Une fois, le plugin installé et activé, un menu VaulPress apparait dans le menu de la console d’administration et permet de voir l’avancement de la sauvegarde du blog sur les serveurs de VaultPress.

Le backup se fait en arrière-plan, il n’est pas nécessaire de se connecter à WordPress ou de laisser une fenêtre du navigateur pour que le transfert se fasse. Le transfert initial est assez long, tout dépendra du nombre d’articles et de commentaires, mais surtout tout dépendra de la quantité de pièces jointes.
Dans le cadre de WordPress Francophone, j’ai activé le plugin le soir à 21h, le lendemain tous les fichiers avaient été synchronisés.

Une fois les fichiers complètement synchronisés, on peut observer un tableau de bord VaultPress qui nous affiche les informations principales, nombres d’articles, commentaires, termes, révisions, médias, etc. On peut également trouver le nombre de copies du blog. (ici 40)
Le service
Maintenant que nous avons passé en revue les pages du plugin sur l’admin WordPress, nous allons voir les fonctionnalités du site VaultPress.com. La page de connexion, bien que stylé VaultPress nous rappelle que WordPress n’est jamais très loin…

Pour se connecter à VaultPress, il faut posséder un compte WordPress.com, ce dernier vous sera demandé lors de l’inscription initiale, vous devez alors saisir vos identifiants WordPress.com.
Une fois connecté, on tombe sur un tableau de bord qui contient tous les sites protégés par VaultPress, ici il n’y a que WordPress Francophone.

Le statut affiche la dernière mise à jour de la base WordPress avec VaultPress, ici on peut voir qu’il s’agit du plugin du compteur de vues utilisées sur WordPress Francophones. Le menu propose de voir l’intégralité des backups de votre site, le log d’activité des sauvegardes ainsi qu’un formulaire de contact.


La page « Backups » nous propose de compacter, d’archiver et de télécharger l’ensemble des fichiers et la base de données de WordPress pour chaque backup réalisé. Ainsi, il est possible de télécharger n’importe quel backup de votre blog, l’intérêt majeur, c’est qu’en cas de pertes de données sur votre serveur, vous pouvez récupérer les fichiers à toutes les dates, et surtout les dernières données grâce à la synchronisation en temps réel.
La page « logs » retrace toutes les modifications apportées sur votre installation WordPress, ajout d’un article, d’un commentaire, d’un méta via un plugin, etc. bref tout est enregistré !
Conclusion
La conclusion est difficile. Le service est efficace et fonctionne très bien sur un serveur mutualisé comme Infomaniak. Pour les personnes possédant un dédié, un backup automatique et incrémentiel de la base de données et des fichiers sur 2 lieux de stockage me paraissent largement suffisant…
Alors, je ne sais pas trop… Pour qui ?
Les personnes ayant de « gros blogs » sont bien souvent sur des serveurs dédiés et/ou infogérés, dans un tel cas la backup serveur me parait suffisante…
Les personnes sur des hébergements mutualisés seront-elles prêtes à mettre de l’argent pour un service de backup ? Au prix proposé, on n’est pas loin d’un serveur virtualisé de base…
Mon avis est partagé sur l’intérêt d’un tel service… et vous ? pour qui ? quel contexte ?
16 août 2010 §
Depuis WordPress 3.0, il est possible de créer facilement à la volée des types de contenus (en anglais : custom post types), et d’y coupler des taxonomies. On peut par exemple, créer des petites annonces, et ajouter des taxonomies comme la région, un ordre de prix, l’état du bien, etc.
Mais les taxonomies ne sont pas nécessairement suffisantes dans un usage pro pour monter un site avec de nombreuses relations. Parfois, on souhaite relier 2 types de contenu ensemble, par exemple sur un site contenant des petites annonces, on voudra avoir la possibilité de lier des articles d’actualités à des petites annonces. Ainsi, on pourra facilement afficher des blocs de contenus liés sur le thème.
Pour y parvenir, j’ai développé le plugin : Relation Post Types

Relation Post Types - Réglages
Ce dernier offre la possibilité de choisir dans la console d’administration quelles liaisons voulez vous mettre en place. Par exemple, si vous avez des petites annonces et des articles à relier, vous pouvez choisir d’afficher un bloc « articles » sur la page d’édition des petites annonces, et inversement vous pouvez afficher le bloc « petites annonces » sur la page d’édition des articles. Ainsi, vous pouvez créer des relations dans les 2 sens.

Boite de sélection dans la page de rédaction
On peut même pousser le bouchon le plus loin et créer des relations entre contenus d’un même type de données, par exemple relier une petite annonce à d’autres petites annonces. Cela peut être utile pour générer du contenu relatif, mais manuellement.
Le plugin est disponible en téléchargement sur WP.org, dans le référentiel de plugins. Le plugin est réservé à un public de développeur ou d’utilisateurs avertis, il n’existe pas de fonctions prêtes à l’emploi à utiliser dans le thème, il vous faudra coupler les fonctions du plugin et WP_Query.
N’hésitez pas à me contacter pour tout bug ou évolution allant dans le sens du plugin.
7 février 2010 §
Cforms est réellement un plugin très bien pensé, avec un nombre de fonctionnalités impressionnantes, mais il possède 2 défauts à mes yeux…
Le premier, c’est qu’il ne se trouve pas dans le référentiel officiel des plugins, ce qui rend handicapantes les mises à jour et son installation. Son deuxième défaut, c’est les problèmes liés au déplacement d’un blog.
Dans de nombreux cas, on développe un blog WordPress avec une adresse de développement et lorsqu’on souhaite migrer, tout se passe bien sauf pour le plugin Cforms, pour 3 raisons :
- Il enregistre le chemin complet vers le plugin dans un fichier PHP
- Il enregistre l’adresse du blog dans un fichier JavaScript
- Il enregistre l’adresse du blog et de destination des fichiers dans une option de WordPress.
L’inconvénient est que lorsqu’on change d’adresse du blog, Cforms conserve les réglages du blog où il a été installé, chose très gênante, car cela implique la modification des 2 fichiers et un bidouillage dans la base de données pour corriger le plugin.
Pour me simplifier la vie, j’ai développé un petit plugin qui permet l’édition depuis la console d’administration de ces différentes informations. Le plugin se présente de la façon suivant :

Le plugin est disponible sur le référentiel de WordPress.org et répond au doux nom de « Advanced Edit Cforms » (j’essaie d’être explicite !)
31 janvier 2010 §
Petit article pour vous annoncer la sortie de Simple Tags 1.7.4 !
Cette nouvelle version est pleinement compatible avec WordPress 2.8 et 2.9. Elle n’est pas contre plus du tout compatible avec les versions antérieures, pour 2 raisons, alléger l’extension et ne pas faire semblant d’avoir des évolutions pour les anciennes versions de WordPress alors qu’en fait le code utilisé par les anciennes versions n’était plus mis à jour !

Cette version apporte quelques nouveautés dont :
- Compatibilité à 100% avec l’API taxonomie de WP2.8/2.9
- Utilisation de la nouvelle API des Widgets
- Amélioration du code en vue d’avoir 0 notice PHP (à 99%)
- Correction sur les méthodes de cache WordPress
- Correction avec le bug de la fausse activation. (rien ne se passer)
- Compatibilité à 100% avec PHP4
- Ajout d’un sélecteur de taxonomie pour l’édition de masse (permets de catégoriser massivement)
- Réaménagement de la page « Gestion des tags »
- Nouveau script pour l’auto-complétion, utilisation de l’AJAX pour de meilleures performances
- Correction d’un bug avec les articles très longs et la suggestion de tags de Yahoo/Tag The Net
- Ajout de 3 connecteurs pour la suggestion : OpenCalais, Alchemy et Zemanta
- Correction de l’importateur fourni avec l’extension
- Externalisation du tableau d’options de l’admin pour diminuer la consommation mémoire
Certains d’entre vous ont remarqué que j’avais fermé le projet Google Code, c’est assez simple. L’outil est, je trouve, très mal foutu pour le chef du projet. Les visiteurs peuvent commenter toutes les pages, et les demandes de supports et retours arrivent de partout à la fois.
De plus, la gestion de tickets est difficile à gérer pour une seule personne, un trac est beaucoup plus lisible à ce niveau.
De ce fait, j’ai déplacé le support sur une installation redmine que j’utilise désormais pour publier mes extensions et mini-extensions pour WordPress.
Enfin, beaucoup de personnes m’ont attesté que la version 1.6.x de Simple Tags fonctionnait bien avec WordPress 2.8, et bien il se trouve que non. Elle fonctionnait à peu près, sur certaines installations déjà en place, rien d’apparent. Mais sur une installation from scratch, il y avait de nombreux problèmes, l’ajout des tags sur les pages ne fonctionnait pas par exemple, etc.
6 septembre 2009 §
Chaque été, Google organise les « Google Summer of Code » ! Google sélectionne des centaines de projets open source, et permet aux responsables de cesdits projets de recruter le temps d’un été des étudiants en informatique !
Ces stages rémunérés par Google, permettent à des projets comme WordPress de travailler sur des sujets bien précis, comme les performances, la documentation ou encore la recherche dans WordPress !
Ce projet est pour l’heure disponible sous forme de plugin « Search API » bien qu’il soit, à mon avis, très rapidement intégré dans le cœur de WordPress…
Le plugin est totalement modulable, il peut fonctionner avec différents algorithmes, par défaut il y a la recherche MySQL (via FullText), mais il est possible d’utiliser d’autres modules comme Google Custom Search, Sphynx Search.
Le plugin permet un tri des résultats par pertinence, date ou alphabétique. Il y a également possibilité d’afficher un formulaire de recherche avancé, avec un tri possible sur les auteurs, les catégories, les mots clefs, etc.
16 juin 2009 §
Actuellement Simple Tags n’est pas toute à fait compatible avec WordPress 2.8.
Une version optimisée et compatible est en préparation… patience ;)
For english users : a new version of Simple Tags for WordPress 2.8 is in preparation and will be release soon !
18 mars 2009 §
Alors qu’il n’y a pas encore de changements sur l’UI des Widgets, l’API de développement des Widgets a été revue ! Il est clair que pour les développeurs d’extensions et de Widgets l’ancienne API n’était pas à la hauteur pour la gestion des Widgets multiples…
Eh oui… Entre WordPress 2.3 et WordPress 2.7, l’API des widgets n’a pas bougé d’un pouce alors que l’ergonomie et l’apparence ont complètement changé… L’une des problématiques les plus courantes était dans le cadre de thèmes avec un grand nombre de sidebars… Et oui à part 2-3 Widgets (comme le texte) qui proposaient l’ajout multiple, on était vite coincé…
Par exemple, dans WordPress 2.7, il est impossible de placer un widget « catégories » sur 2 sidebars en même temps… Frustrant lorsqu’on souhaite gérer des sidebars différentes selon la vue (tags, archives, catégories…) où l’on se trouve !
Pour remédier à cela, il fallait créer des widgets multiples, autrement dit que l’on peut ajouter plusieurs fois, la problématique étant que peu d’extensions proposées ce fonctionnement, car plus compliqué à développer.
WP-Polls
C’est le cas par exemple de WP-Polls 2.40, une extension permettant de gérer des sondages, qui par défaut ne possède qu’un seul widget. Cela peut poser problème si vous souhaitez afficher 2 sondages sur 2 sidebars différentes.
Pour mes besoins pros, j’ai dû adapté cette extension afin de la rendre compatible multi widget, et ainsi pouvoir placer autant de sondages que le client souhaitait sur ces sidebars. Je mets par la même occasion à disposition le widget en téléchargement ci-dessous :
WP Polls Widget Multi v2.40 (à renommer en .php et placer dans le dossier « wp-content/plugins »)
Et voici un petit apercu de 4 widget « Poll » en place avec encore la possibilité d’en ajouter :

La version multi widget de l'extension WP-Polls
La difficulté de WordPress 2.7, c’est que l’API pour faire du multi widget est très rudimentaire et de ce fait pas évident à manipuler pour les développeurs d’extensions non confirmés…
Petite comparaison :
- Mon widget multi de WP-Polls (WP 2.7) fait 240 lignes. (dispo ci-dessus)
- Le même widget (quasiment) fait par l’auteur de WP-Polls avec l’API 2.8 ne fait plus que 75 lignes.
Évidemment lorsque l’API est optimisée, c’est tout de suite plus simple et plus rapide de créer du multi widget ;)
Contrairement à l’ancienne API qui n’était composée que de fonctions PHP classiques, la nouvelle API va faire plaisir au puriste PHP ! Et oui pour la première fois (ou presque), nous devrons étendre une classe existante de WordPress pour ajouter nos widgets, hop petit exemple :
class WP_Widget_Polls extends WP_Widget {
Sur ce rythme on ne pourra bientôt plus critiquer WordPress pour la qualité de son code ;) Bien entendu, tout cela reste compatible PHP4 ! (ce qui n’est pas un cadeau pour les développeurs de WP)
Je ne détaille pas plus ici l’utilisation de la nouvelle API des widgets, j’en reparlerai avec un cas pratique lors de la sortie de WP 2.8. Pour info, la discussion relative à la nouvelle API est disponible sur le trac de WP.
27 décembre 2008 §
L’autre jour, Henri du blog 2803, expliquait sur son blog 2 problèmes qu’il rencontrait sous WordPress.
L’un d’entre eux était:
Comment insérer toutes les images de son blog dans un article, mais avec de la pagination !
Sans pagination, c’est très simple. Il suffit d’utiliser la fonction get_posts() pour récupérer les images.
D’ailleurs petite précision, pour ne récupérer que les attachements de type « image », il faut préciser le paramètre :
‘post_mime_type’ => ‘image’
Pour gérer la pagination, j’ai choisi d’utiliser la pagination internet de WordPress, celle permise avec les marqueurs « nextpage ». Pour la galerie, j’utiliserai la même. Pour cela, j’ai été obligé de créer une petite extension permettant l’insertion d’un shortcode.
Voila le mode d’exécution :
- Je récupère l’article juste après la requête SQL de WordPress.
- Je force l’application du shortcode dans le contenu de l’article récupéré.
- Je récupère les images
- Je fais une boucle pour imprimer les images et tous les X images, j’imprime le marqueur « nextpage »
Ainsi, WordPress lors de l’affichage propose la pagination des articles. Pour cela, il ne faut pas oublier la fonction wp_list_pages() dans les fichiers single.php ou page.php (selon le cas article ou page).
Le shortcode permet de paramétrer, la taille des images, le nombre d’images par page et optionnellement l’ID d’un article parent. Tout cela est décortiqué dans le code de l’extension.
Vous pouvez retrouver cette extension depuis mon trac de plugins open-source, plus précisément dans le dossier Simple All Pictures.
Pour télécharger le fichier, allez en bas de la page, et sous l’intitulé « Download in other formats: », sélectionnez le format que vous voulez.