Confession intime

J'ai une confession à vous faire.
J'ai écrit il y a quelques temps déja des petits scripts en Groovy pour exporter mes données de Posterous et Goodreads. Au début, ça
me paraissait facile. Et puis j'ai voulu rajouter des fonctionnalités : exporter plus de trucs, exporter dans plus de formats … Et ce qui devait m'arriver m'est arrivé. un jour (je crois que c'était l'année dernière au mois d'octobre) j'en ai eu marre.
J'en ai eu marre de la limitation débile que je m'imposais de tout mettre dans le même fichier.
J'en ai eu marre également de ne pas pouvoir débugger, d'être coincé dans une version spécifique de http-builder, et de ne pas vraiment pouvoir faire ce que je voulais.
Et puis je commencais à me perdre dans mes closures.
J'ai donc longuement réfléchi au problème, et pris la décision qui s'imposait.
J'arrête ces scripts en groovy. Ou plutôt, en m'appuyant sur cette expérience, je fais un reboot et je redémarre les projets dans mon langage de prédilection : Java.
Je ne crois pas que Groovy soit en cause, en fait. Mais, commeles développeurs de free.fr qui sont passés de JSF à PHP en deux jours, j'ai ma zone de confort. Et il semble que cette zone de confort soit bien définie (autrement dit je commence à me scléroser) : Java, Maven, et Eclipse de préférence (mais j'y reviens plus bas, pas de panique). Donc, je retourne dans mes pantoufles, et je m'y remets.
Avec toutefois une nuance. je me suis dit que tant qu'à faire un aspirateur de site web, autant avoir une prétention, même minime, à l'universalité. Je développe donc maintenant une espèce de "truc" à laquelle je donne un fichier de configuration (avec les différents login/password/clés d'accès aux APIs), et qui, pour chaque site "connu", va aspirer les éléments intéressants. Un truc somme toute basique.
Tellement basique, d'ailleurs, que le truc avec lequel j'ai eu pour l'instant le plus de diffculités à comprendre est le mécanisme d'authentification basique avec http-client. Pour le reste, laissez-moi juste vous dire que Jackson est sacrément balaize pour le mapping JSON/objet. En revanche, une chose me chagrine : il semble que personne n'ait pensé à utiliser les pouvoirs "magiques" des proxies Java pour écrire un accès à une API web sous forme d'une interface .. quelque chose comme ça :

Avec ça, j'écris vite fait les parties utiles de l'API du site, et après mon code devient hyper-facile, vous ne trouvez pas ?
Bon, je crois que je vais le faire tellement c'est simple.
En revanche, le truc qui em déçoit beaucoup, c'est GitHub. je croyais que c'était facile d'y créer un dépôt pour y placer mon code, mais en fait non : il faut à chaque fois passer par cette saleté du millénaire précédent de ligne de commande pour créer la branche originale avec msysgit. Parce qu'évidement (ou tout au moins d'après ma compréhension du truc) EGit n'arrive pas à faire le premier push sur GitHub. Et ça, franchement, ça me donne envie d'abandonner ce "truc" hyper-hype pour revenir à un simple Subversion (chez origo ou google code). Notez bien que je n'ai pas encore essayé avec NetBeans.
Parce que oui, en ce moment, j'utilise un peu NetBeans. Je ne comprend pas tout, et l'absence des pespectives d'Eclipse me manque beaucoup, mais l'un dans l'autre il y a de bonnes idées dans cet IDE (par exemple dans les refactorings comme le pull up qui permet de créer automatiquement les déclarations de méthode abstraite dans la super-classes).
Bon, ben avec tout ça, normalement, je devrais avoir vite codé l'export, non ? NON ? non.
Parce qu'il y a quand même du boulot : il faut récupérer plein de données en accédant à plein d'APIs, faire en sorte que les URLs soient toutes réécrites pour ne pas retourner sur les sites initiaux, télécharger les pièces jointes, et finallement produire du contenu (mais pour ça, je crois bien que ej vais passer par un quelconque (lire StringTemplate) moteur de templates Java. Mais, l'un dans l'autre, je suis confiant, même si on verra ce que l'avenir me réserve à ce sujet.
Publicités

2 réflexions sur “Confession intime

  1. J’aime bien te lire dans ma boite mail mais sur le coup, je crois que je suis d????u par cette r??flexion " il faut ?? chaque fois passer par cette salet?? du mill??naire pr??c??dent de ligne de commande " Et puis je crois que tu ??tais bien sous l’emprise de tes ??motions, ressenti quand tu as ??cris cet article il y ?? pas mal de faute de frappe.

  2. <div>Effectivement, il y avait un paquet de fautes.<br></div><div>Il faut savoir que j'??cris toujours ces articles en un seul jet, et sans relecture. C'est une mauvaise id??e sans doute pour de l'??criture publique mais je n'arrive pas ?? me relire. Du coup, forc??ment, les fautes apparaissent facilement.</div> <div>Quant ?? cette histoire de ligne de commande pour se connecter ?? GitHub, j'y revendique mon c??t?? presse-bouton. Apr??s tous, les interfaces graphiques n'ont pas ??t?? invent??es pour les chiens. Oui, je sais, it est un projet de Linus Torvalds, ??a n'emp??che : au XXI??me si??cle, r??ussir l'exploit de cr??er un soft utilisable &quot;uniquement&quot; en ligne de commande, ??a rel??ve de la folie pure, je trouve.</div>

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s