Le voyage dans le temps, c’est possible sur internet

Notez bien que, dans le sens le plus général, c’est déja possible à travers des outils comme Internet Wayback Machine, mais c’est quand même assez peu pratique.

En revanche, là où ça devient pratique, c’est quand l’historique peut s’afficher directement dans le navigateur. Et ça, c’est ce que propose le protocole Memento. J’imagine qu’il doit y avoir un rapport avec le film, mais lequel … mystère (En passant, la construction en ping-pong marche avant/marche arrière de ce film est la même que celle du superbe roman de Iain M Banks nommé « L’usage des armes »).

Enfin bref, memento, c’est une bonne idée.

Mais dans ce cas, pourquoi, POURQUOI, malgré la RFC, choisissent-ils de ne l’implémenter qu’avec Chrome en standard ? Hein ? Pourquoi. Heureusement pour moi, Firefox est open-source, et il existe une extension alternative curieusement nommée mementofox qui va me permettre de tester ce truc que j’imagine dément.

Cela dit, ce dont j’ai vraiment besoin (essentiellement pour le link rewriting dans le lifestream), c’est d’une librairie Java me fournissant l’équivalent de memento, pour pouvoir être sûr de montrer les liens tels qu’ils étaient à l’époque où je les ai sauvegardés. Ca doit pouvoir se trouver, non ? A priori, non, toutefois comme il existe un navigateur memento pour Android, j’imagine qu’il doit être possible d’en extraire le code métier pour faire des requêtes memento à la main …

Publicités

Ca y est ! J’ai enfin terminé la migration de posterous !

Evidement, ça ne va pas intéresser grand monde … quoique.

Donc, vous vous souvenez de cet article « L’import de posterous, c’est quand même pas ça » ? J’y expliquai rapidement que les caractères non ASCII des articles que j’en importais étaient salement transformés. Au total, j’avais environ 600 articles contenant des accents, et donc contenant des saletés de « ?? ». J’ai donc dû, quasi-manuellement, remplacer tous ces caractères par les vrais bon caractères accentués (merci d’ailleurs aux macros de Notepad++ qui m’ont bien facilité les choses). J’aurais bien aimé, dans l’idéal, pouvoir monter un partage WebDAV pour trouver plus rapidement tous ces articles à mettre à jour. Malheureusement, comme ce blog est hébergé gratuitement par WordPress.com (ce dont je les remercie), je ne peux pas installer de plugins, et je n’ai donc pas accès à mes articles facilement.

D’où cette terriblement longue phase de correction, qui a duré quand même 6 mois !

Du coup, évidement, je suis très content d’en avoir fini avec cet enfer, parce que je peux maintenant passer à des choses plus intéressantes, comme par exemple des améliorations du lifestream.

La première chose à faire, c’est finir d’implémenter le support de WordPress, ce qui me permettra de proposer ce support à l’auteur de JBake …

La deuxième, ce sera sans doute de détecter automatiquement les liens morts. Parce que dans WordPress, comme dans Shaarli, les liens périssent. Et pour l’instant, je ne le détecte pas et c’est bien dommage. Mais je sais que ça viendra !

Shaarli ? c’est dans la poche ? Heu, le wallabag ?

De plus en plus, à cause de mon projet de lifestream (pour lequel il va falloir que j’agresse un peu plus JBake, maintenant que je comprend mieux son fonctionnement), je me pose la question de la survie des liens que je fais, à la fois vers l’extérieur, et entre mes différents sites.

Du coup, je regarde les articles sur, par exemple, Shaarli et Poche Wallabag. Et je crois pouvoir répondre aux auteurs (à moins de besoins spécifiques), qu’ils ont tout faux : la solution n’est pas là.

Le besoin spécifique, c’est la création d’un effet Streisand. Et pour ceux qui ne comprennent pas, j’explique. Pour faire un effet Streisand, il faut aspirer la page à protéger rapidement sur un site local, et servir cette page au reste du monde. Ce que je propose n’est pas applicable dans ce cas-là.

En revanche, dans mon cas d’utilisation, c’est nettement plus applicable. Et ça ne nécessite pas d’application local, mais une simple modification des urls liées par Shaarli (peut-être via un script greasemonkey – qui doit même exister).

Donc, vous connaissez sûrement l’internet wayback machine. Non ? Eh bien si vous ne connaissez pas, laissez Jeff Atwood vous guider pour la visite. Si vous connaissez, venons-en au fait sans plus tarder.

L’internet Wayback Machine propose une API. Oh, tiens, ilss proposent aussi un moyen simple de conserver une page dans leur mémoire gigantesque :

Internet Archive_ Wayback Machine - Opera_2014-01-31_17-06-30

 

Bon, bref, l’API.

Que diriez-vous donc si Shaarli ajoutait, à côté du permalien, un lien Wayback machine Envopyant au snapshot le plus proche de la page sauvegardée ? Ce serait chouette, non ?

Bon, je devine les réticences de SebSauvage. Donc ce sera fait via un script Greasemonkey. Il doit exister, non ? … Une rapide visite sur Userscripts me dit que non, il n’y a pas de script de consultation d’une page via archive.org …. Je suis surpris.

Mais je ne vais pas l’ajouter 🙂

Parce que personellement, c’est mon lifestream qui fera toute cette réogranisation des données pour pointer vers la bonne page de l’archive (et éventuellement l’aspirer dans un wallabag local, sait-on jamais)

Le lifestream est enfin visible !

Pour ceux qui ne suivent pas ce blog très assidument, c’est sans doute obscur, je vais donc clarifier.

J’ai enfin franchi la dernière étape me permettant de fournir une version publique du lifestream. Elle est disponible à l’adresse http://nicolas.delsaux.free.fr/lifestream/ (par ailleurs rappelée au pied de ce blog).

Le style est … discutable.

Mais il y a une ou deux fonctionnalités bien plaisantes à mes yeux dans les pages de tags par exemple.

Et un gros bug lié à JBake et fortement visible aussi bien dans les tags que dans les archives. Gros bug qui fait que chaque article créé un mois différent du mois du précédent article relance l’affichage du mois. Je vais m’en occuper plus tard d’au moins deux façons :

  1. Dans le template Velocity utilisé
  2. Dans JBake lui-même

Si vous voyez d’autres bugs, surtout, n’hésitez pas à les rapporter.

lifestream version … pfiouh

Le titre dit à peu près tout, mais pas tout.

J’ai donc décidé il y a quelques temps de me relancer dans la n-ième version de mon lifestream.

Tout est parti, en fait, de shaarli. Shaarli, c’est quand même la base de la réappropriation des données : on part d’un service web bien connu (delicious), et on se dit qu’il serait bien mieux à la maison. Et puis après, en discutant avec d’autres shaarlieurs, on se dit que ce serait super cool de pouvoir discuter entre nous via shaarli (comme les tweets, mais en version décentralisée). Et encore après, en fouillant un peu, je tombe sur une communauté de développeurs qui bossent précisément dans ce genre de domaines – hélas, je n’ai apparement pas conservé de lien – ou la recherche de Shaarli ne marche pas encore assez bien).

Ces développeurs expliquent, en gros, qu’il ya  plusieurs façons de faire du lifestream

  1. Tout écrire dans une interface, et faire en sorte que les messages soient postés sur les bons service
  2. Ecrire dans chaque service, et rappatrier les données via un sweetcron, par exemple

Bon, ben j’ai choisi, et c’est la deuxième solution que je prends maintenant avec mon nouveau projet lifestream.

Cette fois-ci, j’assume complètement mon côté vieux en reprenant tout en java/maven tout ce que j’avais déja fait pour Goodreads en Groovy … et je dois bien avouer que ça va vachement vite à écrire pour un monoculturel comme moi.

En bonus, je me suis offert quelques gadgets rigolos : les articles sont tous transformés en Markdown, je vais utiliser JBake pour produire le site web (et les wagons maven pour le distribuer). Bref, je m’amuse pas mal.

D’un autre côté … PluXML pourrait se révéler être l’outil idoine

Ce qui me fait sdire ça, c’est surtout le fait que la communauté semble particulièrement active et francophone.

Après avoir posté mon message hier, j’ai rapidement reçu une réponse sur Twitter me dirigeant vers cet article expliquant le format des noms de fichiers des articles. Du coup …

Et c’est vrai : avec les XSD, je pourrai balancer un coup de xjc pour générer des classes Java qui iront bien (ou faire un peu de Groovy) pour ensuite aspirer WordPress et Goodreads … Et là, ce sera le retour du fameux build maven qui copie internet dans ma machine !

Et ce sera sans PluXML

Puisque je parle de mon serveur, autant le dire, j’ai testé ce soir PluXML, histoire de voir si je pouvais facilement y ajouter des articles.

Je vais quand même vous expliquer pourquoi.

Je suis toujours à la recherche d’une solution robuste (c’est-à-dire facile à faire fonctionner, facile à analyser, facile à étendre) pour récupérer mes traces sur le web. Et, comme PluXML stocke ses données dans des fichiers XML, je m’étais dit qu’il me serait facile de créer des fichiers contenant mes données et les copier dans le bon dossier. Mais hélas il n’en est rien. En créant un fichier pouet.xml et en le copiant dans le dossier data/articles/, je pensais qu’il apparaîtrai. Mais non !

Bien sûr, j’aurais pu demander au support de PluXML un petit coup de main, et je suis sûr qu’ils auraient été fort heureux de m’aider. Mais j’ai eu la flemme (ce qui est également un droit).

Donc, maintenant, j’ai plusieurs alternatives

  • Repartir du code d’export Goodreads/Posterous que j’avais écrit il y a bien longtemps et tenter de le refaire marcher
  • Trouver des gens dont je partage les idées, et faire marcher leurs idées avec mes données. Parce que si j’y ai pensé, quelqu’un l’a fait.

Cette dernière phrase est quand même un motto sacrément important pour ne pas se prendre les pieds dans l’informatique moderne. Et du coup, en cherchant un peu, j’ai quand même trouvé quelques pages donnant des informations sur les générateurs de sites statiques en Java (ou approchants)

Et paf ! le blog

Vous savez qu’en fait ce blog vient de posterous et même d’encore plus loin ?

Bon.

Suite à la débâcle de posterous, j’ai enfin réussi à obtenir un backup que j’ai importé aujourd’hui (bon par contre comme ce sont des américains qui m’ont fait mon backup, évidement, ils ont pourri dix ans d’articles avec des accents pourris :-().

Donc, ce blog ne contient plus aujourd’hui « seulement » mes articles locaux, mais aussi tous ceux que j’ai pu écrire sur posterous et même encore avant. Et ça, c’est bien.

Faut juste que je trouve une solution d’export « qui marche » – oui, comme agorava-wordpress quand ce sera fini 🙂

Mais quel idiot je suis

Il y a peu de temps, je suis tombé, via Quantified Self, sur Quantter.
Le site semble actuellement injoignable depuis ma machine, mais j’imagine que ça n’est que temporaire … si ça n’est pas temporaire, imaginez qu’en twittant un truc genre swim:2km, quantter sait que vous avez nagé deux Km). Si ça vous rappelle des trucs, c’est normal, puisque c’est la même chose que your.flowingdata.com. En même temps, c’est normal, on est dans les deux cas dans le domaine du lifelogging.
Et je peux dire que, dans les deux cas, je n’arrive pas à leur envoyer des twits. Du coup, mes pages sur ces sites sont désespérément vides. Sans doute est-ce dû au fait que, pour moi, twitter n’est clairement pas un outil approprié ..; j’ai plus tendance à utiliser jabber pour ce genre de trucs.
Ce qui est curieux,c ‘est qu’avec une belle amnésie, j’ai quasiment reproduit la démarche intellectuelle qui m’avait mené à cet article en 2009. Sénilité précoce ? Peut-être. peut-être aussi que je me suis laissé « buzzer » bêtement par internet. En tout cas, ça me laisse complètement songeur sur ma capacité (ou mon absence de capacité) à résiste à des méthodes de saisies clairement défaillantes pour l’usage que je fais de ces outils. L’usage ?
Ben oui, je fais un peu de lifelogging. Pour être clair, j’ai une feuille Google Spreadsheet dans laquelle je note la distance que je parcours à la piscine chaque semaine, avec un beau graphique « motivationnel ». Et, curieusement, je trouve l’interface de saisie de Google nettement plus pratique que ces magouilles à base de twits dont, de toute façon, je ne me sers pas.

Dropbox, c’est internet dans ma machine !

Je crois que je vous ai déja parlé de Dropbox (enfin, par la bande – si si, regardez vers la fin du message), ce génial programme qui synchronise tout seul comme un grand des dossiers entre plusieurs machines, qu’elles soient sous Windows, MacOS, Linux (mais hélas pas le Linux de mon NAS, qui n’est pas du x86), …
Faut bien reconnaitre que c’est de la balle, ce truc.
Et ses usages sont multiples.
  • On peut s’en servir pour synchroniser des logiciels sur plusieurs machines (personnellement, je m’en sers pour Trackmania, Pidgin, et mes scripts greasemonkey pour Opera – mais j’en ai en fait très peu). Evidement, pour éviter de mettre le bazar, le mieux à faire est encore d’installer son logiciel normalement, et ensuite de faire un point de jonction (sous Windows) ou un lien (sous Linux/Mac) entre le dossier du logiciel et le dossier de Dropbox, mais tout est possible …
  • OIn peut aussi s’en servir comme site web minimaliste … et c’est ça qui m’intéresse
Parce que comme je le disais dernièrement, j’ai modifié mes scripts de backup (ou plutôt j’ai créé des scripts les lançant avec la bonne configuration) posterous et goodreads pour qu’ils aillent stocker les fichiers XML dans un dossier nommé My Dropbox/Public/lifestream. Et, comme vous le savez sans doute, ce dossier est visible de l’internet (mais je ne vous donnerai pas son adresse). Grâce à ça, je dispose maintenant des articles de mon blog à peu prés partout dans l’univers, mais sous une forme assez moche :

 

Ss-2010-08-26_14

 

 

Alors évidement, je voudrais remplacer ça par quelque chose de joli, et sans traitement (dans l’idéal). J’ai … deux solutions
  1. Utiliser Java Site Generator que j’ai écrit l’année dernière et dont je suis très mécontent (parce qu’il me parait lourd, parce que je n’ai jamais réussi à en faire un jar fonctionnel, parce qu’en fait le site généré est simplement moche, …)
  2. Modifier un peu le XML généré pour intégrer quelques informations supplémentaires (que je générais traditionnellement avec JSG) et utiliser une (ou plusieurs) XSL pour produire du HTML digne de ce nom.
J’ai un peu envie de dire que cette deuxième solution tient la corde, parce qu’elle est plus « simple » fonctionnellement (mais évidement plus complexe techniquement, parce que les XSL c’est pas de la rigolade). Mais je me tâte quand même encore.
En fait, la seule chose qui me manque, c’est un outil pour copier régulièrement ce site sur nicolas.delsaux.free.fr/lifestream. Mais ça, les tâches planifiées et/ou un cron bien placé sauront le faire mieux que mes petites mains …
Et puis l’avantage d’une XSL, c’est qu’avec ça, si je cherche quelque chose dans ces notes, je peux afficher le fichier facilement dans mon afficheur XML local (sans passer par internet, donc) et avoir un texte plus joli que le bazar ci-dessus. Je pense que c’est donc dans cette direction que je vais aller. Et cette direction, en fait, je la dois simplement à l’existence de Dropbox, et aux bons conseils de Rui Carno (évidement).