Aptana et WordPress

Pour comprendre l’émotion qui flotte en moi en ce moment, imaginez-vous que dans votre maison, vous avez une porte, que vous ouvrez 10 fois par jour.
Cette porte n’a pas de poignée.
Mmmh-mmh, c’est ballot (balaud ? ballaud ? bah-l’eau ???), vous dites-vous.
Oui, ça l’est.
A chaque fois, vous devez vous munir d’un outil spécial pour ouvrir votre porte sans poignée (je réalise en même temps que j’écris que je ne sais fichtre pas comment ouvrir une porte sans poignée ; je vois bien quelques bribes de souvenirs dans ma tête, de situations où c’est arrivé et où j’ai observé quelqu’un le faire mais… ??!)
Bref, vous voyez l’image.
Et un jour, alors que vous vous disiez bien qu’il faudrait finir par s’atteler à la mise en place de cette poignée pour vous faciliter la vie, une poignée vous arrive dans les mains.
La fin de la galère, comme ça, d’un claquement de doigt.
À présent en ouvrant votre porte vous ne pouvez pas vous empêcher de sourire bêtement, empli(e) d’une espèce de béatitude proportionnelle à la frustration accumulée lors de chacune des précédentes ouvertures de cette fichue porte.

Voilà, mesdames-messieurs, l’état intérieur dans lequel je me trouve en ce moment.
Pourquoi ?

Parce qu’à la lecture du récent article de SeoMix sur la mise en place d’un assistant de code pour les standards WordPress, consciente qu’avant de me préoccuper de la validation il fallait déjà que je me soucie de l’auto-complétion (parallèle : il était plus urgent de mettre une poignée qu’un œil-de-bœuf) : j’ai décidé de me retrousser les manches et une bonne fois pour toutes d’intégrer, s’il en était, un bundle de commandes WordPress à mon IDE – j’ai nommé Aptana.

C’est simple, ça m’a pris 2 minutes 30. Et ma vie est bouleversée. (Oui, j’exagère toujours un pti peu, j’aime bien).

Si vous aussi vous voulez expérimenter le coup de la poignée :

Installer le WordPress bundle dans Aptana

Si vous avez l’Aptana Studio 3, un bundle est déjà intégré… il suffit juste de l’activer (en fait il y avait déjà une poignée…).

Comme l’indique cette réponse sur WordPress StackExchange, un petit tour par le menu Commands > Bundle Development > Install Bundle, sélectionnez WordPress et voilà, le repo Git en question est cloné et c’est installé.

Latest commit 02ad5a0 on 23 Jan 2012 ?

Oui, il date un peu (la poignée a quelques traces de rouille…). Et en plus il est incomplet.

Mais à tout problème, une réponse toujours il y a, quelque part sur StackKekchose, la preuve : l’occasion pour moi de faire la découverte d’une fonctionnalité négligée d’Aptana, que décidément je ne connais que trop peu.

Dans la configuration des éditeurs (Window (je ne comprendrai jamais pourquoi les préférences des logiciels ne sont jamais dans un menu logique, mais c’est hors propos) > Preferences, item Aptana Studio > Editors), déployez l’item PHP, et vous trouvez un item « Libraries ». Ça, mesdames-messieurs, c’est la puissance incarnée (The Foooorce).

En cliquant sur le bouton « New user library », vous allez être percuté(e) par un éclair de bonheur : vous pouvez utiliser n’importe quelle(s) destination(s) de votre disque dur pour la/les transformer en une référence de code, vous donnant par là accès à l’assistance de code (auto-complétion, ouverture du code source par clic sur un nom de classe ou de fonction, etc…).
Et si comme moi vous avez mis en place un environnement de travail où tous les projets partagent un socle commun, maintenu de façon centralisée avec Git, vous faites une petite Macarena devant votre écran quand vous réalisez le temps supplémentaire que ça va vous faire gagner.

Ah ! J’allais presque oublier de faire le lien avec le vieux commit : en quoi cela peut être utile pour avoir accès à une base de code WordPress plus récente ? Tout simplement, vous indiquez un emplacement de votre disque contenant une version à jour de WordPress comme librairie PHP. Puis vous enchaînez avec un petit Gangnam Style.

Si ça ne marche pas

Encore essoufflé(e) par votre choré, vous ouvrez un fichier de votre projet WordPress et vous testez la magie : un survol sur une fonction propre au CMS, ou l’écriture d’une nouvelle instruction qui en utilise une. Et là, déception, rien ne se passe.

C’est probablement qu’un critère crucial n’est pas opérationnel : la nature de votre projet. Vous devez en effet indiquer à Aptana que l’environnement premier de votre projet est PHP, afin qu’il vous mette en place les mécanismes appropriés pour vous assister dans l’édition des scripts. Pour cela, un clic droit sur votre projet, puis dans l’item « Project Natures », choisissez PHP et assurez-vous de le sélectionner comme nature primaire. Redémarrez éventuellement le logiciel. Testez, et remettez-vous à danser.

Je dois quand même préciser que j’ai un doute sur la nécessité d’indiquer un projet WordPress comme librairie PHP (l’étape précédente). Il me semble que la clé de l’assistance de code, c’est plutôt cette étape-ci, et qu’un projet WordPress, correctement configuré avec la bonne nature de projet, peut donc en bénéficier sans rien faire d’autre. Puisque selon moi le code source du projet, une fois associé à l’environnement PHP, est déjà auto-référencé à l’intérieur de son propre scope. Mais, bien que quelques tests rapides semblent le confirmer, je peux me tromper, car j’ai un peu perdu le fil entre ce qui a été débloqué grâce au bundle, grâce à l’ajout de bibliothèques personnalisées, ou grâce à la configuration des projets…

L’essentiel est que je dispose maintenant de cette poignée flambante pour ouvrir cette vieille porte.