Bien coder son plugin WordPress

WordPress c'est bien, y a plein de plugins dans le repository qui font un peu tout ce qu'on peut imaginer. Le hic c'est que bien trop souvent, quand on en installe un, ben ça marche pas ou alors ça marchotte puis ça s'effondre un beau jour suite à l'installation d'un autre plugin ou encore on perd une partie des configuration suite à une mise à jour... Ceci arriverait beaucoup moins souvent, si certaines lignes de conduite étaient plus souvent suivies.

Voici donc quelques recommandations à suivre pour développer un plugin WordPress. C'en sont quelques-unes parmi d'autres, vos plugins ne seront pas parfaits juste parce que vous aurez suivi ces recommandations, bien entendu, mais ça évitera certains problèmes à vos utilisateurs...

Intégration de jQuery

jQuery permet d'effectuer de nombreuses opérations avec du code synthétique et surtout multi-navigateur, c'est bien, mangez-en. Par contre, dans les plugins WordPress c'est souvent intégré n'importe comment.

Déjà, WordPress inclut jQuery de base, donc nul besoin de le joindre au plugin.

Ensuite, inclure jQuery "à la main" via une balise script en dur, quand le plugin est tout seul, ça marche bien. Si un autre exploite directement jQuery sans extension, la page est plus lente parce que jQuery est chargé plusieurs fois mais ça marche aussi. Par contre dès qu'un plugin utilise des extensions de jQuery, là c'est moins cool : en effet, pour peu que ce plugin ne soit pas le dernier à être appelé, l'extension a toutes les chances d'être écrasée lors d'un autre chargement de jQuery... Et cela peut ne se produire que sur certaines pages selon les plugins, donc ça peut être difficile à détecter.

Heureusement, WordPress propose une fonction bien pratique qui permet d'intégrer des javascript sans écrire directement la balise script et surtout en indiquant des dépendances, ce qui évite les scripts inclus dans le mauvais ordre. Cette fonction s'appelle wp_enqueue_script et est définie dans le fichier wp-include/functions.wp-scripts.php.

En particulier, pour inclure jQuery il suffit d'appeler : wp_enqueue_script('jquery');

Et accessoirement, préférez un appel à l'objet jQuery plutôt qu'un appel à $ dans votre code, car si un autre plugin inclut une bibliothèque qui utilise aussi le $, ben... kaboum !

Ne pas gêner les mises à jour

Lorsqu'on met un plugin à jour, le dossier qui le contient est remplacé par la nouvelle version. En conséquence, si des fichiers ont été ajoutés ou modifiés dans ce dossier, ils seront écrasés par la mise à jour.

Cette pratique donc est à éviter absolument. Préférez une écriture en base de données, là aucun problème en cas de mise à jour :


Corrections pour le plugin "Subscribe to Comments"

Suite à la demande de Nikohk, Je viens d'installer le plugin Subscribe to Comments.

Comme souvent quand on installe un plugin WordPress, il faut mettre la main dans le cambouis si on veut que ça tourne correctement... Là je me suis limité à faire en sorte que la traduction Française soit correctement prise en compte (et au passage de la compléter avec les quelques clés qui manquaient). L'ensemble est récupérable ici (le fichier de traduction seul est directement téléchargeable ici), avis aux amateurs. J'ai posté mes modifications en commentaire sur le site de l'auteur du plugin, donc avec un peu de chance elles seront prises en compte par la prochaine version...

Sinon, j'ai pas poussé trop loin les tests sur le reste du plugin, espérons qu'il marche bien...

Et au passage, j'ai aussi mis à jour WordPress en version 2.7 et ajouté également le plugin Ajax Edit Comments.


Quelques jeux pour iPod Touch/iPhone #1

Pour l'instant, je n'ai testé que des jeux gratuits : déjà là y a du choix, donc autant commencer par là.

Topple

Topple

Il s'agit d'un jeu qui peut rappeler Tetris au premier abord mais où le but est au contraire de réaliser une pile stable de pièces la plus haute possible en un minimum de temps. Évidemment, elles n'ont pas toujours des formes adaptées et pas le temps de faire des empilements bien propres. Je n'y ai pas encore beaucoup joué mais c'est plutôt sympa ^^

Aurora Feint

Aurora Feint

Je n'ai testé que la version gratuite qui consiste majoritairement à aligner des pièces de mêmes couleurs et qui prend bien en compte les différentes fonctionnalités de l'iPod : en tournant l'appareil, les blocs tournent également, ce qui permet de les déplacer horizontalement plutôt que verticalement. On a également au fur et à mesure de différents bonus accessibles et des niveaux particuliers où il faut récupérer un certain nombre de blocs d'une couleur donnée dans un intervalle de temps limité ou arriver à détruire tous les blocs de l'écran avec une limite de mouvements. Bon, à force c'est pas super varié mais pour l'instant j'y ai déjà pas mal joué et je ne m'en lasse pas ! (la qualité de la musique et des graphismes aident sans doute)

Sinon, la vidéo d'introduction est sympa.

Dactyl

Dactyl

Celui-ci n'a apparemment pas de site, il vous faudra donc le rechercher dans iTunes...

Là, rien de bien compliqué, tout est question de réflexes et de précision dans les doigts : douze bombes noires sont affichées à l'écran et au fur et à mesure, elles s'amorcent (en devenant rouges). Il vous faut alors "cliquer" dessus pour les désamorcer avant qu'elles n'explosent. C'est distrayant et une partie ne dure en général pas longtemps...


iPod Touch : premières impressions

Ça fait maintenant quatre jours que j'ai mon iPod Touch, il est temps de livrer mes premières impressions sur la bête :

  1. ouverture de la boîte : il a la classe :)
  2. premier test en le branchant sur le MacBook pro (je dirais bien juste "MacBook" mais la dernière fois que j'ai dit ça, je me suis fait engueuler parce que soit-disant je lui manquais de respect, donc depuis j'évite :peur2:) : youhou, ça synchronise vite depuis iTunes !
  3. coup d'œil à l'état d'occupation du disque : comme d'hab, on te vend du 8Go mais en valeur réelle y en a que 7... C'est le système qui bouffe le Go parti dans la nature ou c'est une astuce de calcul comme pour les écrans cathodiques ? :ack:
  4. petits tests de l'iPod en lui-même : c'est marrant le tactile :p
  5. téléchargement et test de quelques jeux gratuits : c'est marrant le tactile mais ça a un gros défaut : quand t'as le doigt dessus, ben tu vois plus l'écran :we: Par contre les commandes qui tiennent compte des mouvements de l'iPod c'est pas con du tout (quand c'est bien utilisé).
  6. tentative de connexion au net : beuh, il est pas capable de partager la connexion à travers le câble USB ? Et pourquoi donc dois-je m'asperger d'ondes wifi alors que j'ai déjà un câble qui le relie au MacBook pro ? :aw2:
  7. après quelques tentatives, j'arrive à partager la connexion via wifi depuis le MacBook pro :) (j'ai pas encore de wifi chez moi, il serait temps que je me penche sur la question... ça m'éviterait le câble réseau qui m'empêche d'utiliser le MacBook pro depuis ailleurs que mon lit...)
  8. premier test avec Safari sur ce site : pas mal mis à part que les polices sont bizarrement rendues : certaines sont agrandies par rapport à d'autres :aw:
  9. second test sur EDForum : hum, là c'est moyennement pratique quand même, même si la fonction zoom est facile à prendre en main. Et surtout ça rame vite quand on a une page un peu grande et avec beaucoup d'images.
  10. troisième test, poster un message sur le forum : un clavier azerty, c'est vachement plus cool que les saloperies qu'on trouve sur les portables classique :smile: Bon, ça reste forcément plus lent comme frappe que sur un vrai clavier mais vue la place dont on dispose, c'est déjà franchement pas mal géré ^^
  11. quatrième test sur un certain site tout rose/violet avec un bébé sur la bannière : une page super chargée, ben c'est long à afficher :we: Et cette idée de mettre des dizaines de blocs de contenu sur la même page c'est pas super pratique à consulter sur un petit écran :o
  12. et au passage les événements au survol genre pour des menus déroulants ça le fait moyen sur un écran tactile :ack: Y a un truc pour les avoir sans "cliquer" ?
  13. petit tour des autres applis web fournies de base : y a vraiment plein de vidéos sans intérêt sur YouTube.

Voilà voilà sinon, le jeu le plus sympa que j'ai testé pour l'instant se nomme Aurora Feint j'ai pas regardé ce qu'apportait la version payante mais la gratuite permet déjà de jouer pas mal (et merci à Slay qui me l'a conseillé ^^).


La Poste, on a tous à y gagner...

C'est du moins le slogan qu'ils utilisent (utilisaient ?). Mais je trouve que globalement ça laisse un peu à désirer...

J'attends impatiemment la livraison de mon iPod Touch commandé sur Amazon en début de semaine : seulement 195€ contre 230€ sur l'Apple Store, j'ai fini par me laisser tenter... et j'ai bien fait de pas trainer, parce qu'entre temps il est remonté de 20€ et plus en stock.

Espérant pouvoir jouer avec ce weekend, j'ai donc suivi de près son acheminement par la Poste sur le site de coliposte et là, surprise : "06/12/2008 - Destinataire absent lors de la livraison, seconde livraison prévue" (qui en passant est affiché dans la page en image sans texte alternatif... vachement accessible et super pratique pour du copier/coller). Sauf que toute la journée, il y avait au moins 3 personnes à l'apart'. Cherchez l'erreur... :)

Le pire, c'est que c'est pas la première fois que ça m'arrive... et comme par hasard, chaque fois un samedi (pour celles que j'ai noté du moins...). À croire que, pressés d'être en weekend, certains facteurs sautent quelques colis en piochant une excuse bidon pour pas être emmerdé. Dans la mesure où le site indique clairement que les samedis sont pris en compte dans le délai de 48h garanti, je trouve ça un peu gonflé...

Un poil énervé, je m'en vais donc envoyer un message de réclamation (ça sert pas à grand-chose en général mais ça défoule). Je me rends donc dans la page "contact", sélectionne les options qui conviennent, saisis mon message et envoie. J'obtiens alors un message d'erreur en rouge disant : "Vous avez saisi un caractère non autorisé dans le champ Commentaires, veillez à le remplacer afin de rendre possible la prise en compte de votre saisie.". Préciser le vilain caractère en question serait sans doute trop simple, ils sont joueurs à la Poste. Après de multiples tentatives en supprimant successivement et sans succès guillemets, accents, apostrophes et parenthèses, je finis par envoyer le message paragraphe par paragraphe (tant pis pour le spam, ils n'avaient qu'à mettre un message d'erreur explicite).

C'est comme ça que j'ai finalement pu isoler le point d'exclamation responsable. Eh oui, le point d'exclamation est interdit quand on contacte la Poste, c'est bon à savoir. Outre le fait que je ne vois vraiment pas pourquoi, ils auraient au moins pu prendre la peine de l'indiquer dans le message d'erreur, j'aurais été moins énervé et mon message final aurait été plus amical :)

Donc voilà, pas d'iPod Touch pour ce weekend et un agréable sentiment d'être pris pour un con. Que du bonheur \o/

Pour finir sur une touche positive, j'ai découvert au passage l'existence d'un petit logiciel fourni par la Poste et tournant sur Windows, Mac OS et Linux (c'est assez rare une telle diversité, ça mérite d'être relevé) qui permet d'être alerté en temps réel de tout changement d'état du colis : e-COMO. J'ai testé la version Windows et ça marche bien... Maigre consolation par rapport à tout ce qui ne fonctionne pas par ailleurs mais bon, c'est déjà ça.

Et du coup mes premières impressions sur l'iPod Touch seront pour un autre jour :_/: