Le tour de Varnish en 30 minutes

… En fait, cela aurait dû être “le tour de Varnish en 80 jours” … cela s’est avéré trop long, nous nous sommes donc repliés sur 30 minutes !

Varnish, j’en entends parler régulièrement, surtout quand il s’agit de gros, de très gros sites. Mais jusqu’à présent, je ne savais pas vraiment ce que c’était. La présentation que nous a fait Dridi Boukelmoune chez Zenika nous a éclairé sur la bête.

Le tour de Varnish en 30 minutes

Varnish, c’est quoi ?

C’est un cache HTTP. Plus exactement un reverse proxy cache HTTP. Ce n’est ni le premier, ni le seul. Pourquoi donc l’évoquer ? Comme je l’ai dit, on trouve Varnish dans les grosses, les très grosses infrastructures Internet. Car outre sa remarquable stabilité, ce sont ses performances très élevées qui ont fait la réputation de Varnish. Bien qu’issue de Varnish Software (la partie commerciale de Varnish), cette petite Vidéo fait un bon résumé de la situation.

Bref, Varnish, c’est un cache HTTP très performant car travaillant au plus près de la pile TCP/IP. 

L'architecture de Varnish

Pas d’IHM sexy pour configurer la bête. Varnish est fait pour les admmins sys barbus et se configure à l’aide d’un DSL : le VCL.

Configurer Varnish avec VCL

VCL c’est plus qu’un script de configuration, c’est un DSL qui est ensuite compilé en C. Pré-compilé, devrais-je dire, car bien sûr ce code C est lui même compilé ! Nous l’avons évoqué, Varnish est focalisé sur la performance, et on ne fait pas de choses performantes avec des mécanismes dynamiques ! Malgré tout, le changement de configuration peut être opéré à chaud.

Time to live

De base, Varnish gère son cache en TTL, mais on peut y inclure certaines variantes:

  • En fonction de l’encoding
  • En fonction du navigateur utilisé
  • En fonction de la compression

Les règles par défaut

Tout ne doit pas aller en cache ! Le VCL permet d’ajuster ces règles, mais par défaut Varnish stipule que :

  • Il n’y a pas de mise en cache d’une ressource si elle est liée à un cookie.
  • Pas de mise en cache si il y a des informations d’authentification.
  • Seules les requêtes GET et HEAD sont mises en cache. Les requêtes POST ne le sont pas.
  • Varnish gère les “variantes” en s’appuyant sur l’en-tête HTTP vary qui permet d’indiquer explicitement un élément à associer à la décision de cache.

 Invalidation ou prolongation

Au-delà de la règle de fonctionnement de Varnish, qu’il s’agisse des règles par défaut ou d’une configuration qui s’en écarte, il est possible d’exclure des ressources du cache à l’aide de plusieurs mécanismes.

L’invalidation des ressources est possible, que ce soit sur une base individuelle ou suivant une expression régulière. Elle peut être opérée en ligne de commande ou via le VCL.

L’option la plus radicale d’invalidation est la purge. La ressource est retirée du cache, il n’y a plus moyen de la ressusciter une fois cela fait.

Varnish possède aussi une notion de ban. Il permet d’invalider un objet du cache, mais sans en entrainer son nettoyage.

A contrario on peut prolonger une ressource au-delà de ce que prévoit initialement les règles de Varnish,  avec la notion de “grâce” qui permet de prolonger un contenu à priori périmé. Ce mécanisme peut s’avérer utile en cas de défaillance du back-end.

Mais comment ça fonctionne le VCL ?

Ecrire du VCL, c’est presqu’écrire du C (c’est probablement pour cela que c’est facile à compiler…). Varnish propose un certains nombre de “looks”, des template méthodes qui sont appelées par Varnish si elles sont implémentées. Il suffit alors d’implémenter la fonction en question pour s’insérer dans le cycle de vie du cache, et d’y utiliser les fonctions que Varnish met à notre disposition pour bannir un objet, par exemple.

Bien sûr, il faut pour cela connaitre le cycle de vie des objets

Varnish VCL

Et voici ce à quoi peut ressembler un bout de configuration Varnish :

sub vcl_recv {
        if (req.request == "PURGE") {
                if (!client.ip ~ purgers) {
                        error 405 "Method not allowed";
                }
                return (lookup);
        }
}

Comme on peut l’imaginer, cet élément de configuration vient “hooker” l’état recv, en suivant le pattern “template method”.

Au-delà de la configuration

Director : Varnish fait du load balancing !

Enfin, pas tout à fait du load balancing, mais presque !

Un director est un groupe de back-ends clusterisés pour lesquels on établit une stratégie de redirection. Le but premier n’est pas de faire du load balancing, mais plutôt de maximiser les chances d’obtenir une ressource.

Maintenant, on peut aussi s’en servir pour faire du load balancing !

Etendre Varnish avec les modules

Outre la possibilité qu’offre le VCL d’y introduire du code en C, la méthode la plus élégante d’étendre Varnish est d’utiliser les modules, ce qui est possible depuis la version 3 de l’outil.

Dridi a d’ailleurs écrit un article (sinon l’article de référence) sur ce sujet, sur le Blog de Zenika.

Administrer l’outil

La console

On n’est pas chez les touristes. Ici de base, l’administration c’est la ligne de commande avec varnishadm ! Certaines des opérations que l’on peut faire avec sont même scriptables pour être intégrées dans un sh. Du classique pour les admins, donc.

Le bundle commercial de Varnish propose la Vanish Administration Console (VAC) qui est un outil Web. Mais comme toujours dans ces cas là, on ne peut quand même faire l’impasse sur la ligne de commande.

La gestion des logs

C’est un sujet d’attention particulier. Le loge peuvent rapidement ralentir terriblement les traitements. Varnish a pris une option radicale à cet égard : les logs sont en mémoire et sont en binaire ! Et Varnish propose un ensemble d’outils pour y accéder et les exploiter (varnishlog, varnishncsa)

Vers l’infini et au-delà…

En résumé

Le point essentiel, celui qui fait choisir Varnish, c’est qu’il s’agit d’un cache HTTP ultra-performant à même de décharger efficacement le back-end dans le cas de sites à très fort trafic. C’est LE cas d’utilisation. Pour un site n’ayant pas un très fort trafic, Varnish sera de très peu (et plus probablement d’aucun) intérêt.

Varnish en 5 étapes

Voici la démarche condensée de mise en oeuvre que nous propose Dridi :

  1. Cacher le contenu statique
  2. Configurer la compression
  3. Cacher le contenu semi-statique
  4. Automatiser l’invalidation
  5. Améliorer le back-end

Les autres fonctions de Varnish

Bien que sa fonction essentielle soir le cache HTTP, on ne peut ignorer ce que Varnish sait faire d’autre :

  • Gérer le streaming
  • Utiliser des ACL
  • Structurer des architectures multi-tenant.
  • Tester son architecture, c’est à dire en pratique tester sa configuration VCL, avec le framework de test qui fait partie de la distribution.
  • Gérer le Edge Side Include (ESI)

Bien entendu, nous l’avons évoqué, Varnish peut servir de reverse proxy, bien que ce ne soit pas sa vocation première.

Merci Dridi !

Dridi n’est pas seulement un excellent collègue chez Zenika, son intérêt et sa maitrise croissante sur Varnish l’ont amené à en devenir un contributeur ! Il est entre autre chose l’auteur du module QueryString.

La présentation dont Dridi nous a gratifié fera partie de sa présentation des petits déjeunes planifiés sur Lyon et Paris, consacrés à Varnish. J’avoue que cette présentation en 30 minutes (30 minutes et 18 secondes, précisément) était un peu ardue pour moi, car faite un peu sans concession. C’est mon seul reproche. Elle présente clairement les fonctions et possibilités de l’outil et l’enthousiasme, la passion devrais-je dire de Dridi pour ce projet open-source font beaucoup au plaisir que j’ai eu à l’écouter.

La présentation de Dridi est accessible ici.

En épilogue, je vous propose de jeter un coup d’oeil au manuel de référence de l’outil.

Publicité

Web RTC

“RTC” comme “Real Time Communication” !

Cette présentation faite sur Prezi par Enrico Marocco nous expose les principe d’architecture Peer to peer du Web RTC.

Web RTC, comment en savoir plus ?

Le consortium Web RTC est soutenu par Google et Mozilla, entre autres, avec le but avoué de supporter cela dans leurs browsers respectifs. C’est également un groupe de travail à l’IETF ainsi qu’au W3C.

Voir aussi l’excellente présentation faite par Google lors du Google IO 2013 ; la vidéo de cette présentation est incluse dans les slides. La présentation faite lors du Google IO de l’année précédente mérite aussi que l’on s’y arrête.

En pratique…

Dans la pratique, il s’agit de 3 ensembles d’API :

  • MediaStream API : Elle permet d’échanger vidéo et son, nottament.
  • RTCPeerConnexion : qui permet de maintenir des connexions pair à pair entre machines pour échanger des streams. Cette connexion peut être obtenue avec ou sans serveur intermédiaire en fonction du protocole retenu. Hadopi aura peut-être quelque chose à dire là-dessus…
Web RTC connexion API diagram
  • RTCDataChannel : pour les échanges d’autres types de données, par exemple pour les jeux.

2.0, I me mine (opus 2012)

J’avais fait le point début 2012 sur les outils 2.0 que j’avais utilisé en 2011. Une année s’est écoulée. Faisons le point sur ce qu’il en est aujourd’hui.

J’utilise beaucoup moins, voir plus du tout

Yammer : Certes c’est toujours l’outil du SUG, mais je n’y vais plus que quand j’y suis obligé. J’avais évoqué l’an dernier son manque de polyvalence, c’est sans doute ce qui a fini par me lasser.

Podio  : On en avait parlé, puis on a laissé tomber, du moins pour l’instant. Plus de Podio à l’horizon pour moi.

Google Doc : Je sais bien que ça ne fait pas très Geek de dire ça, mais je n’utilise pas Google Doc (ou plutôt Google Drive maintenant) pour mon usage personnel. Je n’aime pas travailler dans des documents dans une interface Web et vous viendrez me réveiller quand la suite Google sera au niveau de Microsoft office ! Cela dit, je l’utilise (à mon corps défendant) dans le cadre professionnel. Mais je trouve l’usage hors ligne peu convainquant et le système de rangement incompréhensible.

Google Plus : Je n’ai rien contre Google Plus, mais on ne peut pas être partout. Je n’y vais guère parce que je n’en ai pas pris l’habitude, probablement pour l’essentiel. Je m’en sers pour buzzer sur certains de mes posts.

Quora  : De temps en temps, j’ai un accès de courage et je balaie des sujets pour voir si j’ai une réponse à y apporter. Disons 3 ou 4 fois dans l’année. Mais jamais hélas je n’y ai trouvé les réponses à mes interrogations ! J’attribue le temps que j’y passe parfois à répondre à ma volonté de maintenir ma visibilité sur la toile… Bon, je dois quand même avouer que je suis très fier d’avoir Jeff Sutherland dans mes followers !

IFTTT  : Le service est génial, tellement génial qu’il parvient à se rendre invisible ! Hélas, le changement des conditions d’utilisation de Twitter en ont rendu l’usage que j’en ai pratiquement inopérant ! Shame on you, Twitter !

Je continue à utiliser

Trello  : Je trouve toujours le service aussi simple, efficace et agréable. Trello est plus adapté aux projets qu’au fil de l’eau. Je m’en sert pour mes projets perso, petits ou gros, mais très irrégulièrement. On est parti pour utiliser cela sur nos projets du SUG, ce que je trouve bien.

Meetup  : Il reste l’outil principal du SUG. J’y ai découvert deux nouvelles communautés cette année : Lean Startup France (http://www.meetup.com/lean-startup-france/) et Agile Playground (http://www.meetup.com/Agile-Play-Ground/). Je devrais aussi y adjoindre la petite communauté Evernote (http://www.meetup.com/Evernote/Paris-FR/) que j’ai commencé à fréquenter (merci à Pierre Journel de l’avoir créé).

GMail  : Toujours aussi important pour moi, rien à ajouter !

Diigo  : Cet outil de bookmarking reste d’une utilisation sporadique pour moi. Visiblement, cela va le rester. Pourtant la fonction d’annotation est plutôt sympa…

github  : Pas encore un gros utilisateur à titre privé. Par contre, je commence à utiliser gist, que j’ai commencé à intégrer à Tumblr !

Stackoverflow  : Toujours aussi pertinent quand il s’agit de trouver une réponse à un problème de développement. Quora n’est pas prêt de prendre le dessus !

Slideshare : Je ne l’avis signalé l’an dernier, c’est maintenant corrigé. Toutes mes présentations publiques y sont consignées. Il faut aussi dire que j’intègre cela de bonne manière dans Tumblr. 

Twitter : Je ne suis pas un enragé de Twitter, mais de toute évidence un utilisateur régulier sans aucun doute. Je ne poste pratiquement jamais durant ma journée de travail (il faut bosser aussi, n’est-ce pas ?) et en fait je ne suis pas non plus les tweets en journée ! C’est donc le soir dans les transports que je passe en revue une bonne partie des tweets de la journée et je met en favoris les liens qui ne peuvent se lire facilement sur l’iPhone. Comme tout le monde, je n’en lis pas la moitié en différé. Et ne plus avoir mon canal IFTTT n’arrange rien à l’affaire…

LinkedIn  : Je n’en fais ni plus ni moins que ce que j’en faisais avant. La fin de l’intégration Twitter ne change pas grand chose pour moi. Mais je regrette l’abandon de la fonction agenda. Je reste sur ma politique de n’accepter en relation que les personnes que j’ai rencontré au moins une fois.

J’utilise plus aujourd’hui qu’hier

Dropbox  : Concurrence oblige mon quota est passé de 50 Go à 100 Go (106 en fait). J’utilisais déjà ce stockage de fichier dans le clous de manière assez libérale, disons que je ne me suis pas arrangé ! Les partages de répertoires à titre professionnel ou privé sont toujours simples et pratiques. Longue vie à Dropbox !

Evernote  : J’ai aussi élargi mon usage d’Evernote ! De la simple prise de note sur le vif je suis passé à la préparation de posts en mode brouillon (y compris celui-ci), le stockage de cartes de visites, de documents, le partage de notes avec mes équipes, etc… J’ai écris un post sur ce sujet il y a 6 mois. Bref est arrivé ce qui devait arriver : suis passé au plan premium il y a un petit mois de cela …

Producteev  : Toujours mon outil de prédilection pour gérer ma todo liste. Il a peu évolué de mon point de vue, à part la liste de tâches que j’apprécie bien. Par contre l’interface a des comportements assez curieux et je n’arrive toujours pas à configurer la fin de la journée à minuit ! Une application iPhone existe que j’ai évidemment installé … mais que je n’utilise pas au final !

Tumblr  : J’avais commencé assez doucement Tumblr en fin d’année dernière. Avec environ 280 posts à ce jour je crois que l’on peut dire que “je l’utilise plus” ! J’ai non seulement pris un rythme de croisière, mais diversifié mes publications : notes de lecture, comptes-rendus de conférence avec photo (j’ai même fini par acquérir un APN de bonne qualité pour cela), articles PDF, présentations, citations, etc… La “vanité URL” en est la cerise sur le gâteau.

Les nouveaux venus

Dashlane : Une belle galère de gérer ses mots de passes et de les sécuriser correctement. Il existe quelques solutions sérieuses pour cela, mais pas beaucoup. J’ai choisi Dashlane, franchement sérieux, très sérieux et pratique ! Et j’en finis avec le trousseau d’accès du Mac. C’est certainement parmi mes “nouveaux” celui qui me donne le plus grand surcroit de confort : je diversifie et renforce mes mots de passe, je ne stocke plus rien dans le navigateur et je laisse Dashlane me connecter sur les sites ! Sans compter les quelques fonctionnalités annexes que je vais vous laisser découvrir !

Flickr : Flickr n’est pas vraiment le dernier truc à la mode qui monte. De là à penser qu’il faut être un foutu has been pour classer ce service dans les “nouveaux venus"… En fait je trouve Flickr assez pratique pour publier mes photos sur Twitter. Ne serait-ce que parce qu’il propose un redimensionnement de très bonne qualité. Sans être mortelles, les fonctionnalités sont potables : des albums que l’on peut regrouper, etc… L’ergonomie est d’un autre siècle et c’est sans doute pour ça que je ne l’exploita pas encore pleinement. Mais le service est là, donc…

Disqus : J’ai intégré Disqus dans Tumblr pour les commentaires, c’est surtout pour cela que Disqus figure ici. Donc un usage très modéré je dois dire, cr j’ai très peu de commentaires sur mes posts !

Issuu : C’est la solution que j’ai trouvé pour stocker, partager et intégrer des documents PDF dans Tumblr. La liseuse est peut-être en Flash, mais franchement elle a de la gueule ! Les fonctionnalités du services ne sont pas mal non plus, une fois que l’on s’est accoutumé à la logique …

Capitaine Train : J’achète maintenant mes billets de train exclusivement ici ! C’est simple, rapide et zen ! Bravo à cette startup française d’avoir su combiner la qualité de service et la relation client. Un projet monté en ce qui ressemble fort à du Lean Startup !

Ideascale : Ideascale figure ici car nous l’utilisons pour les propositions de sessions pour certains évènements du SUG. Maintenant, pour tout dire, je ne suis pas franchement conquis.

A l’année prochaine !

Le nombre de services que j’utilise est en légère augmentation depuis l’année dernière. C’est surtout parce qu’il y avait certaines choses que je ne confiais pas encore au cloud. Si beaucoup d’entre-eux ont une "dimension sociale” je ne les utilisent pas ou peu en ce sens. Je ne cherche pas à avoir des “amis” ou à suivre qui que ce soit sur Flickr ou Slideshare, c’est moins vrai sur Tumblr. Le seul pur réseau social à figurer ici est Twitter.

Même si certains services semblent proches ou identiques, je segmente leurs usages :

  • Je n’utilise Trello que pour les projets, alors que Producteev est une pure todo liste au jour le jour
  • Si Slideshare et Issuu peuvent tous les deux stocker et présenter des documents, Slideshare me sert pour mettre en ligne mes présentations uniquement, alors que ce sont des articles en PDF que je confie à Issuu.

Voilà pour cette année. Rendez-vous dans 12 mois pour faire le point.

Comment j’utilise Evernote

Lors de la dernière rencontre Meetup Evenote, nous avons échangé sur nos cas d’usage d’Evernote.

J’avais par ailleurs évoqué les outils 2.0 que j’utilisais en Décembre 2011. Il est temps de revenir plus spécifiquement sur Evernote et d’en détailler mes cas d’utilisation.

Les carnets de note

J’entends souvent la question des carnets de note versus les tags. Certains utilisent très peu de tags, mais un grand nombre de carnets de note (y compris des carnets organisés hiérarchiquement). D’autres utilisent très peu de carnets de note, mais un grand nombre de tags. C’est mon cas.

J’utilise en tout 7 carnets de note, dont 3 sont à usage professionnel. C’est peu, voir très peu par rapport à ceux qui utilisent Evernote de manière intensive, mais j’ai essayé d’optimiser le nombre de ces carnets de note, Je m’embrouille néanmoins régulièrement ! Une dernière chose : même avec seulement 7 carnets il parait utile de limiter la confusion. J’utilise une pile de carnets, pour mes carnets à usage professionnels. Justement, parlons-en.

Utiliser les partages

Des 3 carnets de note à usage professionnel, j’en utilise un pour les notes, essentiellement prises en réunion que je souhaite garder pour moi.

Les deux autres carnets ont été créés afin de partager mes notes avec chacune des équipes que je gère. N’ayant pas franchi le pas “premium” ces carnets sont en lecture seule pour les membres des équipes qui ont accès. En fait, c’est aussi bien. Mon objectif n’est pas de créer un espace collaboratif (nous utilisons plutôt GitHub ou Google Docs pour cela) mais de mettre à disposition des personnes concernées les notes que j’ai pu prendre (là encore souvent en réunion, mais pas seulement) et qui les concernent. Bref de gagner du temps et de l’efficacité par rapport à la bonne vieille diffusion par mail !

Zero papier

Mon but premier était de remplacer le bon vieux cahier de notes. L’objectif n’est pas complètement rempli à 100%, car il reste le cas des schémas… mais globalement oui c’est le cas !

Mes carnets de note sont “physiques”

A une exception près sur laquelle je reviendrais, je ne déplace pas mes notes entre carnets. Chaque carnet correspond à un pan de mon activité professionelle ou privée et le but des carnets de notes est de les cloisonner. D’autres utilisent les carnets de notes pour matérialiser des états de workflow, par exemple. Ce n’est pas mon cas.

Les Tags

Comme je l’ai dit, j’utilise beaucoup de tags, environ 150. Je passe dessus régulièrement, disons tous les 3 ou 4 mois pour regarder ce qu’il en est des tags peu utilisés, c’est à dire ayant 2 ou 3 occurences et moins. Visiblement c’est plus que beaucoup de personnes. Certains semblent trouver difficile de tagger de manière pertinente les notes avec un si grand nombre de tags. Je ne sais que répondre, sinon que cela ne me pose pas de problème !

Quelles notes ?

Compte-rendus

Je l’ai évoqué tout à l’heure, j’utilise beaucoup Evernote pour prendre des notes en réunion ou même faire un compte-rendu en “live”. Il m’arrive de faire ce compte-rendu connecté à un projecteur, permettant ainsi aux participants de faire des remarques ou d’apporter des précisions e direct. On gagne beaucoup de temps ainsi ! Il arrive même que certains membres de l’équipe lisent ces notes en direct et apportent leurs réponses ou leur contribution à peine la réunion finie !

Petites notes sur le vif

Je prend très peu de notes sur mon iPhone. Il n’est définitivement pas fait pour cela, sauf pour dépaner ! Je ne le fais que pour noter deux ou trois mots clés sur lesquels je ferais des recherches lorsque j’écoute un podcast. J’apprécie alors qu’Evernote inscrive directement en titre de la note la référence du podcast sans que j’ai à le faire ! L’autre cas plus rare encore est une note à propos d’un livre quand je lis dans les transports (ce que je fais très souvent). Encore une ois, c’est très sibyllin. Il s’agit typiquement du type de note que je détruit ensuite. Car j’ai oublié de dire que je suis le genre de gars qui conserve ses notes jusqu’à la fin des temps. J’aurais l’occasion de reparler de ce point.

Préparation d’articles

Les posts que je prépare pour mon blog (dont celui-ci) sont tous écrits au préalable sur Evernote. C’est en principe un peu limite par rapport à la taille des textes pour lesquels l’outil est prévu, mais là encore je m’en sort sans trop de problème. Un copier-coller et un peu de travail cosmétique suffisent à rendre l’ensemble correct. Pourquoi faire ce travail sur Evernote ? Tout simplement parce que l’outil fonctionne online et offline, le mode brouillon de Tumblr ne permet que le Online. L’alternative est évidemment le bon vieux fichier texte avec un éditeur de texte (TextMate, TextWrangler ou même MS Word). Mais je suis bien décidé d’en finir avec les fichiers texte qui trainent partout ! De plus le stockage sur Evernote me fournit un archivage de ces textes sur lesquels j’ai souvent passé un temps non négligeable. Je ne voudrais pas les perdre simplement parce que j’ai fait confiance à un seul et même site…

Bien sûr une petite fonctionnalité de publication sur Tumblr depuis Evernote serait bien sympathique ! Pas vraiment critique, mais quand je vois la qualité et la simplicité de la même fonction sur Flickr, je me dis que…

Photos

C’est une fonctionnalité que j’utilise vraiment de manière très anecdotique ! Parfois je prend en photo un paper board ou un affichage public qui contient des informations qui m’intéressent. Si je l’ai fait une diszaine de fois, c’est le bout du monde…

Cartes de visite

C’est une utilisation tout à fait étonnante, mais dont j’avoue qu’elle ne m’est d’aucune utilité ! Pour ceux qui ne connaissent pas, voilà comment ça marche:

  • On vous remet un carte de vite: vous la prenez en photo (avec votre smartphone sur lequel est installé l’application Evernote). Bon, pas tout de suite, vous attendez que votre interlocuteur soit parti, sinon vous passez pour un gros geek!
  • Une fois enregistré votre note contenant la photo de la carte de visite, Evernote va opérer l’OCR de cette photo pour en détecter les mots. Ca marche très bien.
  • Une fois cela fait, grâce à l’indexation full text qu’opère sytématiquement Evernote, vous pouvez retrouver la carte de visite en cherchant des mots-clé !

Aujourd’hui j’utilise cette fonction pour le fun, mais en réalité je saisis mes contacts à la main. Je n’en ai pas tant que cela, et en avoir trop (j’en ai déjà plus de 200) rend la consultation de celui-ci pénible ! A terme j’en ferais peut-être un usage plus important, car j’ai beaucoup plus de cartes de visite que je n’en saisi dans mes contacts. Cele me permettrait en outre de mettre des notes personnelles. C’est certainement que je n’ai pas pris le pli, je devrais sans doute essayer de manière plus assidue !

Notes audio

Voilà la chose que je n’utilise pas du tout ! Je n’ai jamais été un utilisateur du dictaphone, je ne suis pas plus un utilisateur des notes audio. Je sais que c’est le moyen le plus partique de prendre des notes sur son iPhone, simplement ce n’est pas mon truc. Voilà, c’est dit !

Web Clipping

Comme me le disait Pierre Journel, c’est moi le gars qui n’utilise pas le Web Clipping !

En fait, ce n’est plus tout à fait vrai.

Non au Web clipping de bourrin

Clipper des pages Web bariolées et encombrées de trucs dans tous les sens ne m’a jamais paru très utile. Je préfère largement bookmarquer une page qui m’intéresse dans ce cas. En tout cas, le Web Clipping brut ne m’a jamais incité à faire de la lecture différée sur cette base.

Evernote Clearly

Puis est arrivé Evernote Clearly ! Pour ceux qui ne connaissent pas et lisent régulièrement des articles ou billets de blog sur le Web, Clearly permet de se débarrasser du contenu non utile pour avoir une page blanche où ne figure plus que le contenu utile, aussi lisiblement que sur un ebook ! Mieux, quand l’article est découpé en pages, Clearly vous rassemble les morceaux et il vous permet d’ajuster la taille de la police de caractère.

Avec Evernote Clearly, je suis beaucoup plus disposé non seulement à lire des articles, mais à les mettre en attente pour les lire plus tard. Et voilà revenu le Web Clipping (car le Web Clipping marche aussi sur une page nettoyée par Clearly), qui me permet de lire ce qui m’interesse à tête reposée ou quand je n’ai pas de liaison internet ! 

Lecture différée

Je parlais de lecture différée avec le Web Clipping, mais ce n’est pas la seule manière dont je met des choses en attente. Les deux autres cas d’usage sont les flux RSS et le fil Twitter. Pour cela j’utilise IFTTT.

IFTTT permet de connecter des canaux d’entrée sur des canaux de sortis sous certaines conditions. Une fois configuré IFTTT, on peut tout simplement l’oublier ! Franchement, je me demande bien quel est leur business model… Toujours est-il que cela marche très bien. J’ai configuré deux flux depuis IFTTT

Depuis Twitter

J’ai configuré IFTTT de manière à m’envoyer les Tweets auxquels sont associés des liens que je juge intéressant vers Evernote. Il me suffit pour cela de mettre le Tweet en favori. Je dédie un carnet de note “à traiter” à ces envois, qui me sert de gare de triage. En effet, je consulte en bonne partie mes tweets depuis mon iPhone, et j’ai abandonné l’idée de lire des pages Web non formatée pour un usage mobile dessus !

Je détruit donc la plupart des notes que je dépile de mon carnet “à taiter”, parfois je conserve le lien dans Diigo.

Mais qu’en est-il de MyEn ? J’avais commencé à utiliser cette fonction. Mais honnêtement, depuis que j’utilise IFTTT, je ne vois pas l’intérêt de continuer. Je l’ai donc abandonné.

Depuis Google Reader

C’est à peu près le même cas de figure que précédemment. J’ai configuré IFTTT de manière à envoyer les sujets que je met en favori vers mon carnet de note “à traiter”. La suite du processus est identique.

Stockage de documents

Une autre fonctionnalité que je n’utilise pas aujourd’hui. Elle semble attrayante, surtout avec l’indexation “full text” accessible en premium ! Je pense que j’y viendrais un jour, progressivement.

Les “killer features”

Le mode offline

C’est pour moi l’aspect le plus séduisant. Bien sûr on peut arguer qu’aujourd’hui on est “online” partout, mais ce n’est pas vrai. On a pas tous une clé 3G et la réception n’est pas de qualité où que l’on soit. De toute manière, je n’ai pas envie de dépendre en permanence d’Internet pour tout ce que je fais ! OK, des fois, je n’ai pas le choix…

Le cloud d’aujourd’hui, c’est pour moi celui qui permet d’effacer la limite online / offline, de synchroniser mes devices entre eux, d’être connecté aux autres sans que cela soit un poids ou une contrainte. C’est ce que permettent des services comme Dropbox ou Evernote.

Des applications spécifiques !

Quand j’ai proposé à mes équipes d’accéder à mes notes par Evernote, ce qui m’a le plus intrigué, c’est de les voir tous utiliser l’application Web ! Pour ma part je ne l’utilise jamais. J’utilise les applications spécifiques pour Mac, pour Windows et pour iPhone. Ces applications vous font tout simplement oublier que vous utilisez un service en ligne !

Le business model

Beaucoup de services proposent un modèle gratuit tellement limité que l’on est obligé de se poser la question du service payant très tôt dès que l’on en fait un usage sérieux. C’est souvent à ce moment-là que l’on abandonne, car on n’a pas encore eu l’opportunité de s’en faire une bonne idée !

Evernote est un modèle de service que l’on peut pousser très loin avant de passer au modèle payant. Tous les utilisateurs dont j’ai eu connaissance qui ont eu un usage tellement intense que cela nécessitait le passage au “premium” ne se sont pas posé la question arrivé à ce point ! En fait de nombreux utilisateurs passent même au premium bien avant d’en atteindre les limites, simplement car le service rendu le justifie !

Je sais, je semble faire la publicité du service … Evernote veut être avec l’utilisateur dans la durée. Le business model est construit autour de cela, et ça me va !

Des extensions

Ce n’est pas ce qui attire le plus mon attention, mais le service ayant désormais une certaine notoriété, il était logique de voir fleurir quelques extensions. Outre le Scanner Fujitsu, je retiens surtout le Livescribe Smartpen auquel je resiste encore un peu… Je suis sûr qu’il y en a beaucoup d’autres que je ne connais simplement pas.

Ce que j’aimerais

L’archivage

Comme je l’ai dit, j’ai horreur de supprimer quoi que ce soit. Or il se peut que j’arrête certaines activités, ou même que je change d’emploi un jour. J’aimerais garder trace de tout cela sans que cela encombre mon horizon présent. Idéalement voilà ce que cela donnerait:

  • Je ne verrais plus les carnets de notes archivés (sauf dans une vues “archives”).
  • Les Tags uniquements utilisés dans les carnets de notes archivés ne seraient plus visibles non plus.
  • Les recherches se limiteraient aux carnets actifs, sauf option explicites à ce sujet.

L’interfaçage avec ce que j’utilise

Quand on en a beaucoup, on en veut toujours plus ! Certes, IFTT permt déjà pas mal de choses, mais je souhaiterait pouvoir utiliser plus facilement mes outils 2.0 avec Evernote:

  • Associer une note dans une carte dans Trello.
  • Pouvoir faire figurer de même une note dans un item de liste dans Producteev.
  • Pouvoir lier une note dans une conversation dans Yammer sans devoir transformer celle-ci en fichier !

Une gestion plus fine des tags

Les tags sont toujours globaux et c’est bien dommage. J’aimerais séparer ceux que j’utilise pour les différents carnets de notes et remonter leur visibilité au niveau global explicitement.

Le problème de ceci, c’est que c’est une fonctionnalité de geek qui rendrait l’utilisation d’Evernote nettement moins intuitive. Je dois me faire à cette idée: toutes les fonctionnalités ne méritent pas d’être implémentées…

Plus de possibilités de mise en page

Evernote n’est pas Word, et il offre déjà quelques fonctionnalités de mise en page simples pour les notes de tout les jours. Maintenant, ce serait bien d’avoir un peu mieux sans transformer l’outil en usine à gaz…

Une offre entreprise

J’utilise des carnets de note pour partager des éléments avec mes équipes. Il est assez facile d’imaginer comment étendre la fonctionnalité à un groupe d’un peu plus de 10 personnes:

  • L’utilisation d’un annuaire global ou l’on puisse ajouter / retirer des membres.
  • Une gestion de groupes, voir des groupes hiérarchiques auxquels on pourrait des droits en lecture ou en  écriture aux carnets de notes.
  • Une gestion de tags globaux et partageables.
  • Un quotas de volume définit au niveau de l’organisation.

A priori, ce n’est pas dans l’agenda de Phil Libin. Dommage…

Ce que je devrais essayer

Deux choses me viennent à l’esprit, que j’ai cité plus haut dans mon billet:

  • Le Livescribe Smartpen. J’avais utilisé précédemment le même accessoire (du moins dans sa génération précédente) de Logitech. Je dois avouer que c’est plutôt à première vue un gadget pour me faire plaisir.
  • Le stockage de documents.

Avec ce dernier point vient la question du passage en premium. Oui, je le ferais certainement, le prix du service est tout à fait modéré, et si mon volume de notes actuel ne le nécessite pas, l’usage que j’en ai aujourd’hui pourrait déjà le justifier.

J’attends maintenant avec impatience le prochain Evernote Meetup. Cela me donnera certainement de nouvelles idées d’usage.

2.0, I me mine

En ce début d’année, j’ai voulu faire le point sur les outils du Web 2.0 que j’utilise, ceux que j’utilise de plus en plus et ceux que j’utilisent moins. Ainsi que ceux que finalement je n’utilise pas ou plus du tout !

DropBox (http://www.dropbox.com/) : Certes, ce n’est pas vraiment nouveau, mais j’y met de plus en plus de choses. Je suis d’ailleurs passé au plan 50 Go cette année ! Ce fut d’abord le moyen le plus simple de partager des fichiers entre un MacBook et un PC sous Windows. C’est maintenant entre 2 PCs, un MacBook et un iPhone ! C’est aussi un moyen de partager des fichiers avec des personnes de mon équipe. C’est vraiment devenu un outil quotient cette année.

Evernote (http://www.evernote.com/) : Encore un outil avec lequel je suis monté en puissance cette année, je l’utilise réellement au quotidien aujourd’hui. Il y a de nombreuses choses que j’apprécie sur Evernote:

  • La simplicité: Quand on veut prendre des notes en réunion, jeter 2/3 idées sur la papier (pardon, sur le clavier), il n’y a presque rien à faire ! Les possibilités de formatages sont assez basiques (mais elles existent), mais simples d’emploi et parfaitement adaptées à la prise de note. On ne se met à utiliser les différentes possibilités (carnets multiples, tags) que progressivement. J’apprécie aussi la recherche “full texte” dans les notes … y compris sur les photos où Evernote applique un traitement OCR plutôt convainquant !
  • Le mode déconnecté: Comme plus de 80% des utilisateurs, j’utilise l’application “stand alone” plutôt que le Web. Ainsi je peux prendre mes notes sur mon portable sans me soucier de la connexion et les retrouver sur mes autres machines plus tard en laissant Evernote synchroniser quand il le peut. Aujourd’hui j’utilise Evernote sur Mac, sur PC et sur iPhone.
  • Le pricing plan: On peut aller très loin avec la version gratuite. En fait, il faut vraiment être un gros utilisateur d’Evernote pour devoir passer au plan payant. Aujourd’hui j’utilise le plan gratuit, mais si un jour je dois passer à la version payante, je ne pense pas que je me demanderais si cela en vaut le coût ! Ici, on ne paie pas pour voir, on ne paie qu’arrivé à un stade où on est de toute façon convaincu !

Plus j’utilise Evernote, plus je lui découvre de nouveaux usages, avec Evernote Clearly, par exemple, mais aussi avec le partage de carnet de notes.

Producteev (http://fr.producteev.com/) : Je ne sais pas encore dire si c’est une application que je vais garder, mais elle est suffisamment simple d’usage pour que je finisse par lâcher ma todo liste papier, à laquelle je tenais pourtant ! des étoiles, des tags et des échéances, je n’ai besoin de rien d’autre. Encore à l’essai pour l’instant ! Il existe une application iPhone qui se synchronise avec l’application Web, mais si je l’ai bien installée, j’avoue que je ne l’utilise pas.

Trello (https://trello.com/) : J’ai essayé, et j’ai délaissé … mais j’y reviendrais peut-être ! Honnêtement, j’aime beaucoup le principe (type Kanban) et l’interface intuitive et fluide. Mais Trello convient surtout pour traiter les projets, petits ou moyens. Pour gérer une todo liste de tâches au jour le jour, Producteev me semble plus adapté. J’ai un ou deux projets personnels dans mes cartons pour 2012, dont je ferais certainement le suivi avec Trello !

Meetup (http://www.meetup.com/) : Ce n’est pas vraiment un outil de productivité personnel, mais plutôt le point de rencontre principal des membres du French Scrum User Group (http://www.meetup.com/frenchsug/). Je l’utilise par conséquent dans le cadre de l’association ! 

Yammer (https://www.yammer.com/) : Encore un outil que l’on utilise dans le cadre du SUG, mais cette fois entre les membres du bureau. L’outil est bien fait pour gérer les échanges. Mais il lui manque une certaine polyvalence, pour gérer des projets, par exemple. Mais la gestion des fils de discussions, la création de groupes et la gestion de réunions sont très bien, y compris la gestion des pièces jointes, des tags, etc… Le manque de polyvalence de l’outil nous amènera cependant peut-être à déménager !

Il y a une application Adobe Air pour travailler en mode déconnecté, je la trouve franchement moins bien que l’application Web. L’application iPhone n’est pas terrible non plus, mais à avoir quand même, pour disposer de tout en offline.

Podio (https://podio.com/) : Peut-être le successeur de Yammer, au sein du bureau du SUG ? Il semble permettre la même chose que Yammer en terme de fil de discussions, avec en plus une gestion de projets ! Podio semble aussi disposer d’un ensemble de plugins permettant de l’étendre ou de le faire interagir avec d’autres outils. Toutefois, l’IHM a parfois des comportements hasardeux et j’ai été incapable de faire fonctionner le plugin Evernote par exemple. Bref, bien dans le principe mais semble manquer de fini en pratique. On verra ce que l’on fera en 2012 !

Tumblr (http://www.tumblr.com/) : Le blogging facile. J’ai laissé tomber le reste pour ne plus poster qu’ici. Il manque comme même la possibilité de laisser des commentaires ! Plutôt fait pour les posts courts, j’y met quand même des posts (très) longs. L’appli iPhone pour suivre les autres blogs est un plus, mais je m’en sers peu.

GMail (https://mail.google.com/) : pas nouveau, c’est le moins que l’on puisse dire (ça fait 7 ans que j’y suis), mais terriblement efficace. La nouvelle interface est abominable (je suis retournée à l’ancienne), mais l’intégration avec Google Docs et Google plus est redoutable. J’utilise la version Web essentiellement au bureau, l’universalité de ce mail fait qu’il se configure en un clin d’oeil sur le Mac ou l’iPhone, ce que j’ai fait. 

Google Doc (https://docs.google.com/) : Je sais que c’est la honte de dire ça, mais je n’utilise pas Google Docs. Je veux pouvoir travailler en ligne ou hors ligne, et surtout hors du browser, ce que Google Docs ne permet pas ! Donc je vais surtout sur les docs réalisés par d’autres, mais c’est tout. Je rêve d’un Google Doc qui serait en fait Office en “mode Evernote” ! Pour moi, aujourd’hui c’est Microsoft Office + DropBox !

Diigo (http://www.diigo.com/index) : Un outil de bookmarking. Encore un, allez-vous dire ? Personnellement, je suis bien plus à l’aise avec celui-ci qu’avec http://delicious.com/ ! Plusieurs petites fonctionnalités me plaisent:

  • Outre le tagging, on peut ranger ses bookmarks dans des listes ou des groupes, privés ou publics.
  • Les groupes, justement, permettent de partager des bookmarks sur des thèmes pointus. On peut même y commenter les bookarks des autres, en fait initier de véritables discussions.
  • Le pluggin pour Chrome permet non seulement de bookmarquer, mais aussi d’annoter ou de surligner le texte d’un site ! Franchement, c’est bluffant.

J’utilise Diigo depuis peu, je ne saurais dire si je vais persister dans son usage, mais franchement, c’est bien parti !

Tweeter (https://twitter.com/) : On ne présente plus Tweeter. Je tweet assez peu. Cela me sert à signaler du contenu que je trouve intéressant (technologies, agilité, développement informatique très essentiellement), pour signaler des évènements ou pour indiquer des posts que j’ai pu faire par ailleurs.

Dans l’autre sens, cela me permet de rester informer essentiellement sur des tendances langages de programmation, frameworks, bases de données, etc…

Je ne pratique pas le Twitter “live”, trop chronophage et perturbant en journée, j’ai tendance à différer mes lectures en fin de journée.

LinkedIn (http://www.linkedin.com/) : Je mentirais en prétendant passer beaucoup de temps sur LinkedIn. Mais il reste mon outil de prédilection pour mes contacts professionnels, plus que Viadeo. Clairement, le “Web social” n’est pas mon truc. 

Google Plus (https://plus.google.com/) : Je ne suis pas sur Facebook ! Ou plutôt, si j’ai un compte, je suis ce qu’on appelle généralement un “log down”. Mon niveau de post sur G+ … frise le zéro absolu. Je fais parfois des commentaires sur les posts des personnes que je suis mais sans plus, et même ce suivi est pour le moins très irrégulier. Au risque de me répéter, le “Web social”…

IFTTT (http://ifttt.com/) : Pluôt inattendu, ce service est une sorte de gros routeur entre différents services de premier rang: Facebook, Twitter, Google+, Instapaper, Diigo, Evernote, Google reader, Tumblr, Google mail, etc… Il permet d’effectuer certaines actions sous certaines conditions. Comme l’indique son nom “If This Then That”. J’y ai configuré quelques canaux, essentiellement pour envoyer vers Evernote des choses que je marque en favori dans Google reader ou Twitter afin de lire cela en différé et/ou hors ligne.

github (https://github.com/) : D’accord, je ne suis pas encore un gros utilisateur de github ! Vais-je le devenir un jour ? Quoi qu’il en soit, il arrive bien en tête pour moi par rapport aux solutions plus ou moins équivalentes comme Google Code…

Quora (http://www.quora.com/) : Comme beaucoup, j’ai là-dessus cédé à l’effet de mode. J’y ai passé un certain temps au début, mais je n’y retourne plus guère. En fait, j’ai répondu à bien plus de question que je n’ai lu de réponses utiles. J’ai pour ma part posté que très peu de question, mais jamais reçu de réponse en retour. Bref, un théoriquement un bon outil pour se construire une réputation, mais c’est tout. Je vais certainement continuer à y aller de temps à autre pour cette raison. Eh oui, j’ai quand même Jeff Sutherland parmi mes followers !

Stackoverflow (http://stackoverflow.com/) : Quora est peut-être trop généraliste pour être un site de référence pour les questions / réponses ? Ce n’est pas le cas de stackoverflow qui est clairement solide pour tout ce qui est du développement logiciel, et là on y trouve presque toujours une réponse valable, si ce n’est LA réponse. Pourtant je dois l’avouer … je n’a pas de compte sur stackoverflow !

Voilà, je pense avoir passé en revu le principal ! Rendez-vous dans un an pour faire le point.