PROJET AUTOBLOG


Arthur Hoaro

Archivé

Site original : Arthur Hoaro

⇐ retour index

Markdown a besoin d'être standardisé

mercredi 7 août 2013 à 13:12

J'adore le Markdown. C'est un langage de formatage simple, lisible et parfaitement adapté au web. J'en mange 5 fois par jour, matin midi et soir sur ce blog, sur Github, sur GitLab, sur mon Wiki (en fait ça n'est pas du Markdown mais un type de markup language), sur Stack Overflow, etc. Le hic, c'est que le Markdown original n'a codifié qu'un nombre limité d'éléments HTML standards. Du coup, la plupart des services qui l'utilisent y ajoutent une surcouche ; le fameux Flavored Markdown.

Mais vous vous en doutez, sinon ça serait trop simple, cette surcouche ne reprend généralement pas les mêmes conventions en fonction des services. Faisons un petit tour d'horizon.

Markdown standard

Je fais un rappel rapide de ce qu'est Markdown, pour ceux qui ne connaitraient pas. Cet outil permet donc de formater du texte très simplement. C'est un peu le même principe que le BBCode à la grande époque des forums, sauf qu'on ne s'arrache plus les cheveux.

Un petit exemple :

# Titre principal

## Sous titre   

Ceci est une super liste :

 * Elément 1
 * Elément 2    

[Lien](http://hoa.ro "Titre : Tu m'emmerdes avec ton exemple")

Enfin bref, vous pouvez retrouver toute la syntaxe sur la page de documentation et encore plus dans l'image-mémo ci-dessous.

github-md.jpg

Flavored Markdown

L'image précédente n'est pas là tout à fait par hasard. Vous pouvez voir en bas de celle-ci quelques éléments clés du Github Flavored Markdown (que je vais appeler le GitFlav dans la suite, parce que c'est plus court).

Ainsi, comme vous pouvez le constater, sur Github vous pouvez écrire votre code après un triple backquote et le nom du langage. Par contre, vous ne pourrez faire ça QUE sur Github (ou un service qui implémente arbitrairement la même règle).

Sur ce même service, vous avez également la possibilité d'afficher des cases cochées/décochées. Pourquoi pas.

Une fois sur Stack Overflow, si vous voulez définir le langage utilise dans votre bout de code, il vous en coutera un :

<!-- language: lang-js -->

C'est l'exemple le plus parlant, mais il y a très certainement d'autres subtilités.

Note : La liste des différences entre GitFlav et l'original est ici (et elle est longue). De plus, à ma connaissance, les sources de GitFlav ne sont pas disponibles.

Normalisation

En bref, chaque fois qu'apparaît un besoin spécifique sur Markdown, mais non moins global, chacun y va à son coup de spécification. Un autre exemple, tout simple : Markdown ne prévoit pas dans sa norme le strike (barré). Basique, mais non implémenté. Que fait-on alors ? On forke et on rajoute un strike entre deux signes égals ? Ou deux dollars ?

Il est clair que le langage Markdown aurait un bon besoin de dépoussiérage, de normalisation et d'évolution. Vous saviez que la dernière version, la 1.0.1 date de 2004 ? Les usages ont tout de même un peu évolués en 10 ans.

Je pense qu'aujourd'hui les mieux placés pour porter ce changement sont les deux semi-géants de l'Internet cités précédemment : Github et Stack Overflow. Après tout, Twitter a bien révolutionné le monde des framework CSS, pourquoi un meilleur Markdown ne serait-il pas possible ?

Note : Image via le Colibri.

DuckDuckGo ne peut pas encore remplacer Google

lundi 5 août 2013 à 09:33

DuckDuckGo est un moteur de recherche moderne, sérieux, avec une équipe derrière qui semble plutôt dynamique. Depuis un mois environ je l'ai utilisé par défaut, en fervent remplaçant de Google. Un pas de plus vers la décentralisation de mes données personnelles !

Dans DDG, il y a plein de bonnes choses vraiment appréciables pour l'utilisateur final. Toutefois, au risque de m'attirer les foudres de ceux qui affectionnent particulièrement ce moteur de recherche, je ne trouve pas le moteur de recherche à la hauteur. Pas encore du moins.

Parmi les bonnes choses, il y a évidemment les !bang ! C'est un plaisir à utiliser, ça fait gagner du temps, et ça permet parfois de faire des choses marrantes. Non sérieusement, ne serait-ce qu'un "!wtfr heuristique" quand on cherche la définition du mot, c'est agréable. Et la liste de possibilités est longue.

Les options proposées par DDG sont également appréciables : personnalisation du thème, de la disposition, des filtres, de la confidentialité, etc. Finalement, c'est un peu tout ce que l'on aimerait voir sur n'importe quel service web.

Bon, fini les éloges, passons maintenant au cœur du service, au moteur de recherche en tant que tel. Je trouve qu'il n'assure pas. Le problème principal que je rencontre, c'est que DDG ne prend pas suffisamment en compte l'ensemble des mots-clés qui lui sont transmis. J'ai l'impression qu'il les traite individuellement et ne cherche pas à faire le lien entre eux.

Mais c'est très abstrait tout ça. Prenons un exemple concret. Je veux installer PostgreSQL sur mon serveur CentOS. Je tape naturellement "postgresql centos". Résultats :

  1. postgresql.org
  2. centos.org

Oui oui, les pages d'accueil des deux produits, individuellement. La page de postgre ne fait pas mention de CentOS et inversement. Et ici la recherche est simple. Quand je cherche quelque chose d'un peu plus pointu, et que le comportement est similaire... Eh bien je fini en "!g ma recherche".

Au final, à force de faire très souvent des recherches en !g au second essai, je ne peux que constater que DDG n'est pas encore assez mature pour que je l'adopte définitivement. Je repasse donc sur Google (ou Googol... :) ) pendant un temps, et je reviendrai voir comment ça a évolué à l'avenir.

Petite question finale qui me vient à l'esprit : ça existe un moteur de recherche libre/ouvert ?

DuckDuckGo ne peut pas encore remplacer Google

lundi 5 août 2013 à 09:33

DuckDuckGo est un moteur de recherche moderne, sérieux, avec une équipe derrière qui semble plutôt dynamique. Depuis un mois environ je l'ai utilisé par défaut, en fervent remplaçant de Google. Un pas de plus vers la décentralisation de mes données personnelles !

Dans DDG, il y a plein de bonnes choses vraiment appréciables pour l'utilisateur final. Toutefois, au risque de m'attirer les foudres de ceux qui affectionnent particulièrement ce moteur de recherche, je ne trouve pas le moteur de recherche à la hauteur. Pas encore du moins.

Parmi les bonnes choses, il y a évidemment les !bang ! C'est un plaisir à utiliser, ça fait gagner du temps, et ça permet parfois de faire des choses marrantes. Non sérieusement, ne serait-ce qu'un "!wtfr heuristique" quand on cherche la définition du mot, c'est agréable. Et la liste de possibilités est longue.

Les options proposées par DDG sont également appréciables : personnalisation du thème, de la disposition, des filtres, de la confidentialité, etc. Finalement, c'est un peu tout ce que l'on aimerait voir sur n'importe quel service web.

Bon, fini les éloges, passons maintenant au cœur du service, au moteur de recherche en tant que tel. Je trouve qu'il n'assure pas. Le problème principal que je rencontre, c'est que DDG ne prend pas suffisamment en compte l'ensemble des mots-clés qui lui sont transmis. J'ai l'impression qu'il les traite individuellement et ne cherche pas à faire le lien entre eux.

Mais c'est très abstrait tout ça. Prenons un exemple concret. Je veux installer PostgreSQL sur mon serveur CentOS. Je tape naturellement "postgresql centos". Résultats :

  1. postgresql.org
  2. centos.org

Oui oui, les pages d'accueil des deux produits, individuellement. La page de postgre ne fait pas mention de CentOS et inversement. Et ici la recherche est simple. Quand je cherche quelque chose d'un peu plus pointu, et que le comportement est similaire... Eh bien je fini en "!g ma recherche".

Au final, à force de faire très souvent des recherches en !g au second essai, je ne peux que constater que DDG n'est pas encore assez mature pour que je l'adopte définitivement. Je repasse donc sur Google (ou Googol... :) ) pendant un temps, et je reviendrai voir comment ça a évolué à l'avenir.

Petite question finale qui me vient à l'esprit : ça existe un moteur de recherche libre/ouvert ?

Lecteur RSS - Feed a Fever

mardi 30 juillet 2013 à 15:51

Suite à la fermeture de Google Reader, je suis parti en quête d'un remplaçant disponible en auto-hébergement. C'était le critère principal, d'abord pour s'affranchir des fermetures inopinées, mais aussi pour protéger mes données personnelles et ma vie privée. Après un petit périple, mon choix s'est arrêté sur Fever. Il ne conviendra pas à tout le monde, car il n'est pas libre et coûte $30. Mais je vous propose aujourd'hui un petit retour sur tout ça : ce que j'attends d'un lecteur RSS, ce que propose Fever et mon ressenti général.

Je suis exigeant

Déjà, je dois l'avouer, je suis exigeant. Le lecteur de flux RSS est une des applications web sur laquelle je passe le plus de temps sur mon navigateur. C'est un agrégateur de contenu, et l'ergonomie liée à la visualisation de ce contenu est primordiale.

Voici globalement ce que j'attends du lecteur idéal :

J'en ai essayé un certain nombre... Leed, KrissFeed, TinyTinyRSS, selfoss (pas mal d'ailleurs) et 2-3 autres dont j'ai oublié le nom. Aucun de ceux là n'a su répondre à tous mes besoins.

Et puis, un mois après l'annonce de la fermeture de Google Reader, je suis tombé un peu par hasard sur la page de Fever. Le design est alléchant, les features semblent bonnes et il y a même une API (sur les items uniquement). Seul problème, il coûte $30 et ne propose pas de démo. De plus, il annonce clairement "No refund".

Un pari à $30 ? Allons-y !

Fever a de la gueule

Commençons par une petite série de screenshots, histoire de donner une idée :

fever-feeds-full.jpg

Ou avec la liste des flux masquée :

fever-feeds.jpg

L'ajout de flux, avec quelques options pour chaque flux :

fever-add-feed.jpg

Des options plus générales :

fever-settings-behavior.jpgfever-settings-share.jpg

Petit tour des features

Globalement, Fever répond à peu près à tout ce que j'attends d'un lecteur : catégories, ajout de flux, import OPML, export, durée de rétention des items paramétrable (je suis à 10 semaines), possibilité de sauvegarder des items, update par cron ou JavaScript, etc.

Par contre, il y a deux petites features auxquelles je ne m'attendais pas vraiment et qui sont une agréable surprise.

D'abord les "sparks", qui permettent d'y ranger tous les flux qui sont trop verbeux : les journaux "officiels", les sites de news, Gizmodo, etc. Les flux classés comme "spark" n'apparaissent plus dans la liste des items non lus, et évitent de noyer les "petits" blogs sous une tonne d'informations pas toujours pertinentes.

Les sparks permettent aussi d'alimenter la fonctionnalité phare de Fever qui sont les sujets "Hot". L'idée, c'est de recouper les liens entre les différents flux d'information pour en ressortir les sujets principaux. En soi... je ne dirais pas que c'est super utile. Par contre, depuis que j'ai importé tous les Shaarlis, c'est génial ! Voyez plutôt, LE sujet chaud sur une semaine :

fever-hot-week.jpg

Aller, pour le plaisir, le top 5 des articles les plus partagé dans la sharliosphère depuis un mois (joli néologisme !) :

Navigation fluide

Ensuite, au niveau de l'UX, c'est assez rêvé en fait. TOUT peut se faire au clavier. Quelques exemples :

Etc, etc. La quasi totalité des actions ont un raccourci clavier associé. Ça rend la navigation vraiment agréable. Ah, et bien sûr, pas de pagination mais un défilement en AJAX.

Conclusion

Vous l'aurez compris, c'est pour moi un pari réussi. Ça fait plus de 3 mois que j'utilise Fever, je maîtrise maintenant les raccourcis et les subtilités de l'interface et... c'est un vrai plaisir.

Mais quand même, il faut bien présenter quelques points négatifs :

Attention aussi, je suis passé sur un quad core et je rafraichis mes 300 flux toutes les 20 minutes. Avec un plus petit serveur, il est possible que ça soit un peu plus difficile d'avoir ce genre d'utilisation.

Voilà, je pense avoir fait le tour. Le but n'est pas de faire de la pub, mais simplement de décrire un peu un outil dont on ne trouve pas grand chose sur le net.

PS : Les screenshots sont vraiment dégueulasses, désolé.

Lecteur RSS - Feed a Fever

mardi 30 juillet 2013 à 15:51

Suite à la fermeture de Google Reader, je suis parti en quête d'un remplaçant disponible en auto-hébergement. C'était le critère principal, d'abord pour s'affranchir des fermetures inopinées, mais aussi pour protéger mes données personnelles et ma vie privée. Après un petit périple, mon choix s'est arrêté sur Fever. Il ne conviendra pas à tout le monde, car il n'est pas libre et coûte $30. Mais je vous propose aujourd'hui un petit retour sur tout ça : ce que j'attends d'un lecteur RSS, ce que propose Fever et mon ressenti général.

Je suis exigeant

Déjà, je dois l'avouer, je suis exigeant. Le lecteur de flux RSS est une des applications web sur laquelle je passe le plus de temps sur mon navigateur. C'est un agrégateur de contenu, et l'ergonomie liée à la visualisation de ce contenu est primordiale.

Voici globalement ce que j'attends du lecteur idéal :

J'en ai essayé un certain nombre... Leed, KrissFeed, TinyTinyRSS, selfoss (pas mal d'ailleurs) et 2-3 autres dont j'ai oublié le nom. Aucun de ceux là n'a su répondre à tous mes besoins.

Et puis, un mois après l'annonce de la fermeture de Google Reader, je suis tombé un peu par hasard sur la page de Fever. Le design est alléchant, les features semblent bonnes et il y a même une API (sur les items uniquement). Seul problème, il coûte $30 et ne propose pas de démo. De plus, il annonce clairement "No refund".

Un pari à $30 ? Allons-y !

Fever a de la gueule

Commençons par une petite série de screenshots, histoire de donner une idée :

fever-feeds-full.jpg

Ou avec la liste des flux masquée :

fever-feeds.jpg

L'ajout de flux, avec quelques options pour chaque flux :

fever-add-feed.jpg

Des options plus générales :

fever-settings-behavior.jpgfever-settings-share.jpg

Petit tour des features

Globalement, Fever répond à peu près à tout ce que j'attends d'un lecteur : catégories, ajout de flux, import OPML, export, durée de rétention des items paramétrable (je suis à 10 semaines), possibilité de sauvegarder des items, update par cron ou JavaScript, etc.

Par contre, il y a deux petites features auxquelles je ne m'attendais pas vraiment et qui sont une agréable surprise.

D'abord les "sparks", qui permettent d'y ranger tous les flux qui sont trop verbeux : les journaux "officiels", les sites de news, Gizmodo, etc. Les flux classés comme "spark" n'apparaissent plus dans la liste des items non lus, et évitent de noyer les "petits" blogs sous une tonne d'informations pas toujours pertinentes.

Les sparks permettent aussi d'alimenter la fonctionnalité phare de Fever qui sont les sujets "Hot". L'idée, c'est de recouper les liens entre les différents flux d'information pour en ressortir les sujets principaux. En soi... je ne dirais pas que c'est super utile. Par contre, depuis que j'ai importé tous les Shaarlis, c'est génial ! Voyez plutôt, LE sujet chaud sur une semaine :

fever-hot-week.jpg

Aller, pour le plaisir, le top 5 des articles les plus partagé dans la sharliosphère depuis un mois (joli néologisme !) :

Navigation fluide

Ensuite, au niveau de l'UX, c'est assez rêvé en fait. TOUT peut se faire au clavier. Quelques exemples :

Etc, etc. La quasi totalité des actions ont un raccourci clavier associé. Ça rend la navigation vraiment agréable. Ah, et bien sûr, pas de pagination mais un défilement en AJAX.

Conclusion

Vous l'aurez compris, c'est pour moi un pari réussi. Ça fait plus de 3 mois que j'utilise Fever, je maîtrise maintenant les raccourcis et les subtilités de l'interface et... c'est un vrai plaisir.

Mais quand même, il faut bien présenter quelques points négatifs :

Attention aussi, je suis passé sur un quad core et je rafraichis mes 300 flux toutes les 20 minutes. Avec un plus petit serveur, il est possible que ça soit un peu plus difficile d'avoir ce genre d'utilisation.

Voilà, je pense avoir fait le tour. Le but n'est pas de faire de la pub, mais simplement de décrire un peu un outil dont on ne trouve pas grand chose sur le net.

PS : Les screenshots sont vraiment dégueulasses, désolé.