Utiliser Org-mode d'Emacs pour le GTD (Charles Cave)

17 juillet 2007

Cette page est une traduction du tutoriel original de Charles Cave. Dernière mise à jour: <2007-07-17 mar>

GTD

« Getting Thinds Done » (GTD) est un système de productivité enseigné par David Allen, auteur et consultant américain. Il a entraîné nombre de gens à son système à travers ses activités de conseil et ses séminaires, mais la diffusion massive de son système s’est faite par son livre Getting Things Done. The Art of Stress-Free Productivity publié par Penguin Books.

(Plus de détails sur le site d’Amazon: http://www.amazon.com/exec/obidos/ASIN/0142000280/thecreativitweb)

Le coeur du système GTD est la procédure de travail consistant à collecter et prendre les décisions en amont de toutes ce que vous avez besoin de faire dans votre vie. L’une des clefs du succès est de garder trace de tout dans un système fiable, plutôt que dans votre tête. Un système fiable peut être un support papier (carnet, un agenda à spirales), un Palm / PocketPC ou un programme d’ordinateur tel qu’org-mode, décrit dans ce tutoriel.

Adieu les todo listes, hello les “Prochaines actions”

Les todo listes font partie du passé. Dans la méthodologie GTD, les décisions sont prises au moment de traiter tout ce qui, dans votre vie, exige un peu de votre temps, énergie ou prise de décision. Exemples: les lettres, les emails, les actions qui résultent d’une réunion ou d’appels téléphoniques, les idées, vos rôles et responsabilités à la maison et au travail, vos interactions avec les gens.

Au lieu de faire des listes de choses à faire, vous avez deux questions à vous poser au sujet de chaque item :

  1. Quel est le résultat désiré ?
  2. Quelle est la prochaine action physique que je peux entreprendre pour m’approcher de ce but ?

Au final, cela donne une image claire de ce que veut dire “fini” et de ce qui doit être fait pour accomplir une tâche. Décrire la prochaine action minimise la procrastination parce que cela facilite la décision concernant ce qui doit ensuite être fait. Vous n’avez pas à décider de ce que vous devez maintenant faire à chaque fois que vous consultez votre liste.

Contextes

Une décision est faite aussi bien au sujet du contexte de l’action qu’au sujet de savoir laquelle sera la prochaine (dans le système GTD, la “prochaine action” est souvent appelée “NA” pour Next Action en anglais.) Un contexte est le lieu où l’action peut être effectuée, selon les différentes contraintes ou les ressources requises.

Par exemple, le contexte “Téléphone” requiert d’avoir un téléphone disponible. Un contexte “Bureau” signifie que cette action ne peut avoir lieu que dans un bureau, de même que le contexte “Maison” concerne les items qui ne peuvent être faits qu’à la maison.

La listes des contextes sera propre à chacun et il faudra un peu expérimenter pour déterminer un ensemble de contextes pratique et efficace. Mes contextes incluents :

Agendas

La méthodologie GTD emploie beaucoup de listes telles que la liste des prochaines actions (NA) décrite dans la section prédédente. David Allen utilise le terme “agendas” pour décrire les listes d’actions que vous avez besoin de discuter avec des personnes en particulier ou que vous devez soumettre à des réunions régulières. Les agendas peuvent être pensés comme des formes spécifiques de listes de NA.

Par exemple, si vous avez un rendez-vous régulier avec votre patron, vous pouvez créer une liste intitulée “Patron” et y enregistrer les items à discuter leur de votre prochaine réunion. Si vous êtes manager, vous pouvez créer des agendas pour toutes les personnes de votre équipe.

[NDT: en anglais, le terme agenda a plutôt le sens de planning (sic) : il s’agit d’une suite d’actions à entreprendre et non d’un agenda matériel ou d’un simple “emploi du temps”. Le sens que David Allen donne à agenda pourrait être rendu maladroitement par “ordre du jour”: j’ai choisi de garder “agenda” pour des raisons de simplicité.]

En attente (Waiting For)

Un autre type de liste est une liste “En attente”. Souvent lorsque vous achevez ou déléguez une act, vous avez besoin d’attendre une réponse. Inscrire cette information sur une liste “En attente” est un moyen utile de s’en rappeler.

Projets

Un projet est un résultat requérant plus d’une NA pour être accompli. Lorsque vous passez en revue les tâches que vous avez besoin d’accomplir, pensez en terme de résultat désiré et à autant de NA que possible. Il n’est pas nécessaire de penser à toutes les NA que vous avez besoin d’entreprendre, mais au moins à celles requises au démarrage du projet.

Par exemple, organiser une “Soirée dîner” est un projet. Quelques unes des NA auront un contexte “Téléphone”: “Appeler Bill et Hilary”, “Appeler Valérie et Marc”. Dans le contexte “Courses”, il pourrait y avoir des NA pour “Acheter du vin rouge.”

Faites une liste de vos projets actifs pour vous en servir de checklist pendant vos revues hebdomadaires. Cela vous garantira que vous créerez des NA pour chacun de vos projets et que vous vous approcherez de l’accomplissement de chacun d’entre eux.

Calendrier

Les calendriers sont seulement utilisés pour enregistrer des informations qui dépendent d’une date (et heure) précise(s). Les calendriers ne sont pas à utiliser pour y écrire des todo listes à l’ancienne. Le calendrier est un endroit pour enregistrer des rendez-vous, des réunions et des informations liées à des dates (par exemple les anniversaires.)

Aide-mémoire (Tickler File)

L’aide-mémoire (en anglais: Tickler File) est un système pour enregistrer des actions qui ont lieu à des dates récurrentes. Cela prend souvent la forme de 43 répertoires (12 mois + 31 jours), mais un système informatique est faisable. Par exemple une facture requérant d’être payée le 20 du mois en cours sera inscrite dans le répertoire nommé “20”. La liste des destinataires pour les cartes de Noël sera indiquée dans le répertoire “Décembre”.

Un jour / Peut-être

Vous ne pouvez pas tout faire tout de suite. La liste “Un jour / Peut-être” est utilisée pour enregistrer des idées au sujet de choses que vous voudriez mais dont vous n’avez pas envie de les planifier ou de les faire avancer tout de suite. Cette liste se met fréquemment à jour pendant votre revue hebdomadaire. Les items de cette liste peuvent devenir des projets actifs ou des NA fixées à une date ultérieure.

Que faire maintenant ?

Décider de ce qui va être ensuite fait repose sur le contexte, le temps que vous avez devant vous et votre niveau d’énergie. Parce que les listes NA sont revues toutes les semaines, vous avez un moyen de diriger votre activité durant la semaine. Quand vous êtes chez vous, vous pouvez revoir votre liste “MAISON” sans être distrait par les items qui relèvent du contexte “BUREAU”.

La revue hebdomadaire

Le coeur de la progression à la GTD est la revue hebdomadaire de tous les projets, des listes “Prochaines action”, et des listes “En attente”. Chaque projet est vérifié de manière à ce qu’il comporte au moins une prochaine action.

Remue-méninges (Mind-sweep)

Le but de GTD est de se vider l’esprit en reposant sur un système externe fiable. Cela permettra de maximiser votre disponibilité mentale pour gagner en concentration sur ce que vous avez à accomplir.

Le “remue-méninge” est une technique utilisée pour vous souvenir de toutes les choses auxquelles vous n’avez pas arrêté de penser.

Emacs

Emacs est un éditeur hautement extensible, configurable, auto-documenté et d’affichage temps-réel. Emacs remonte au milieu des années 1970s et il est très populaire sur les systèmes Unix. Le coeur d’Emacs est un interpréteur Lisp et ceci forme la base à partir de laquelle on peut des extensions qui ajoutent des fonctionnalités à l’éditeur. org-mode est un exemple d’une telle extension.

Emacs est disponibilité pour Windows, Linux, Mac-OS X, et pour presque tous les systèmes basés sur Unix.

Org-mode

Le mode org-mode est un mode pour conserver des notes, des listes et faire de la gestion de projet avec un système en texte brut qui est à la fois rapide et efficace. Org-mode est basé sur le mode Outline-mode d’Emacs et fournit des fonctionnalités très puissantes.

images/mygtd.png

Le coeur d’org-mode est l’organisation des contenus dans une structure hiérarchique utilisant le surlignage, et assignant des tags (pour les contextes) et des dates optionnelles pour les titres de sections. Voir et éditer le document se fait en pliant (cachant) et dépliant des parties du document de manière à ne montrer que le contenu pertinent.

Titres de sections

Un titre de section commence par un ou plusieurs astérisques en début de ligne, le niveau de la section étant déterminé par le nombre d’astérisques.

 * Couleurs
 ** Rouge
 Voici du contenu pour la sous-section "Rouge"
 ** Vert
 ** Bleu

Visibilité

Les contenus du fichier peuvent être montrés ou cachés en utilisant la touche Shift-TAB. Appuyer sur la touche TAB permet de voir successivement les titres de section du premier niveau, puis tous les titres de toutes les sections, puis le contenu entier du fichier (en boucle.)

Voici trois captures d’écran d’un surlignage montrant côte-à-côte les douze mois australiens. A gauche, la vue du niveau supérieur, puis la vue avec toutes les sections, puis à droite la vue avec le contenu entier du fichier.

images/three_states.png

Edition de la structure

Un titre de section (une ligne commençant avec un ou plusieurs astérisques) et les lignes suivantes (sans astérisque au début) forment une branche de la structure et l’on peut les déplacer grâce aux commandes d’édition de la structure.

Org-mode fournit un panel complet de commandes pour faire monter ou descendre d’un niveau les sections et les branches, déplacer des branches à l’intrérieur d’un fichier, ainsi que copier, effacer ou coller des branches.

Ajouter et afficher des tags

On ajoute les tags grâce à la commande C-c C-c [NDT: lorsque le curseur est sur un titre de section], commande qui demande d’entrer un tag. On peut voir cela dans la capture d’écran ci-dessus. Org-mode permet la complétion des tags, par exemple taper la lettre “C” puis TAB complètera la chaîne de caractère pour former le mot “COMPUTER”. La liste des tags est construite en parcourant le buffer. Vous pouvez aussi spécifier une liste de tags avec des lettres de raccourcis pour les sélectionner plus rapidement.

Afficher les listes de “prochaines actions” (NA)

La commande C-c \ est utilisée pour saisir une expression de recherche de tags, puis afficher un “arbre épars” de titres de sections qui contiennent les tags indiqués dans la recherche. Un arbre épars signifie que le document entier est plié autant que possible, mais que l’information sélectionnée est rendue visible au sein de la structure du document.

La recherche de tag peut consister en un seul mot (par exemple HOME) ou en une expression régulière utilisant & for “et” [and] et ‘|’ pour “ou” [or], par exemple “HOME | COMPUTER”.

L’exemple suivant montre le résultat de la recherche du mot-clef “HOME”:

hometag.png

Todo Tags , DONE et archives

Org-mode offre des fonctions pour tagger les titres de section avec un tag Todo et des commandes pour afficher ces tags Todo. Je n’utilise pas ces fonctions dans la mesure où GTD repose sur des listes d’actions contextuelles. Choisir la prochaine action à effectuer dépend du context, du temps et de l’énergie disponible.

Configurer votre fichier GTD

J’utilise un seul fichier contenant tous mes projets, toutes mes tâches, agendas et mes listes “un\_jour/peut\_etre”.

En-tête de fichier

J’ai nommé mon fichier mygtd.org et inclu les trois lignes suivantes au début du fichier.

#+STARTUP: overview
#+TAGS: OFFICE(o) COMPUTER(c) HOME(h) PROJECT(p) READING(r) DVD(d)
#+STARTUP: hidestars

La première ligne dit à org-mode de n’afficher que le premier niveau de section à l’ouverture du fichier.

La seconde ligne est une liste de contextes que j’utilise. Les lettres entre parenthèse servent à la sélection rapide des contextes. Choisir un contexte se fait en utilisant la commande C-c C-c [sur un titre de section] et en entrant ensuite la lettre correspondant au contexte.

La troisième ligne permet à org-mode de supprimer les premiers astérisques [des sous-sections], ce qui en augmente considérablement la lisibilité.

Mettre en place une structure

Vous aurez certainement besoin d’expérimenter avec une structure de fichier qui facilite le survol de vos responsabilités, projets et des différentes parties de votre vie. Les tags sont les composants essentiels, l’ordre des sections et la structure n’est pas si importante.

Une possibilité est de créer quelques sections correspondant à vos activités et responsabilités clefs au travail et à la maison. Faites la liste des noms des membres de votre famille et de leurs activités. Chaque projet actif peut avoir une section. Pendant la revue hebdomadaire, le fichier servira de checklist.

* Miscellaneous tasks
** Ring Service Station to book car for service :PHONE:
** Send email to Bill regarding sales order     :COMPUTER:

:

* Emily
This headline is to remind me to check on my daughters
school activities!
** School subjects
** Viola
** Piano
** School Certificate Exam preparation
* Work
** Work Prject 1
*** Next action item                            :OFFICE:

:

* Home
** Ready for Anything (David Allen) reading project
*** Read Chapter 1                              :READING:
* DVDs to watch
** Casablanca                                   :DVD:
** King Kong                                    :DVD:

:

* Someday/Maybe
** Books I would like to read
*** Life - A users manual (Georges Perec)
** Movies I want to see
** Restaurants I want to try
** DVDs I would like to hire
*** Godfather III
*** Memoirs of a Geisha

Faites un “remue-méninges”

Une bonne manière de vérifier que vous avez pensé à tout pour votre fichier est de faire un “remue-méninges”. Commencez une section à la fin de votre fichier et insérez une nouvelle ligne avec deux astérisques.

* Remue-Méninges
**   Appeler Bill pour la réunion
**   Changer le robinet dans la buanderie
**   Payer mon abonnement

Mettez une alarme et passez cinq minutes à écrire toutes les choses qui vous passent par l’esprit et que vous devez faire. Quand vous pensez à un item, tapez une brève description, puis Alt-Enter pour commencer une nouvelle section de même niveau.

Travaillez vite pour vous sortir tout de l’esprit. Quand l’alarme sonne, revoyez la liste, ajoutez les tags et déplacez les items aux endroits appropriés du fichier.

Contrôle du code source et sauvegardes

J’ai placé mon fichier (mygtd.org) sous contrôle de version. J’utilise le programme SubVersion pour tracer les changements apportés chaque jour. Le fichier est sauvegardé sur CD et sur une clef USB pour pouvoir l’utiliser à la fois au travail et chez moi.

Accéder à mon fichier GTD, vite!

J’ai ajouté un peu de code pour ouvrir rapidement mon fichier GTD. Désormais je peux utiliser la commande M-x gtd et une nouvelle fenêtre s’ouvrira avec mon fichier GTD.

:(defun gtd ()

  (interactive)
  (find-file "~/gtd/mygtd.org"))

Rassembler

J’utilise des petites fiches pour capturer les idées et les prochaines actions. Parfois j’utilise ces fiches comme base pour prendre mes décisions. Je les regarde pendant la revue hebdomadaire et je met à jour mon fichier GTD avec les actions qui attendent encore d’être traitées.

Calendrier

J’utilise un agenda papier pour enregistrer mes rendez-vous, les dates de retour d’ouvrage à la bibliothèque, les événements familiaux, les activités scolaires de mes enfants, etc. Donc je n’utilise pas les fonctions de calendrier d’Org-mode.

Référez-vous à la documentation d’org-mode pour pour les détails concernant l’assignation de dates (limites) pour les titres de sections. Le mode “agenda” (C-c a) est utilisé pour afficher des items et leurs dates associées dans un ordre chronologique.

Liste portative de “Prochaines actions” (NA)

J’aime bien porter une liste simplement imprimée de mes prochaines actions pour chaque contexte. J’ai écrit un script Perl (orghip.pl) pour lire mon fichier GTD formatté avec org-mode et produire des listes NA par contexte.

Le script affiche d’abord la liste du projet PROJECT, puis le contexte OFFICE, puis les tags restants.

La séquence des items dans chaque liste correspond à l’ordre dans lequel ils se trouvent dans le fichier.

Voici une version éditée de ce fichier [imprimable] utilisant ce fichier exemple: mygtd.org.

Date Printed: Sun Sep  3 14:13:33 2006

:

PROJECT:
[ ] IPTM 9 Testing  (Beta Release)
[ ] Learn to typeset music with Lilypond
[ ] C# Windows Forms Programming
[ ] Learn to Inkscape
[ ] GTD Implementation

: :

OFFICE:
[ ] Install latest Ethereal
[ ] Retest bugs in RESOLVED status
[ ] Go to Post Office and buy stamps
[ ] Ring Dentist to change appointment

: :

HOME:
[ ] Picture hooks in lounge room
[ ] John Byrne Book - work through

: :

COMPUTER:
[ ] Typeset "Eleanor Rigby" for Katie
[ ] Typeset piano part of Sicilienne
[ ] Speech timer (use Egg Timer as basis)
[ ] Note entry program for LilyPond
[ ] Study Tutorial 1
[ ] Learn org-mode properly
[ ] Write and publish tutorial on org-mode

: :

DVD:
[ ] Howl's moving castle DEADLINE: <2006-09-07 Thu>
[ ] Fantasia DEADLINE: <2006-09-15 Fri>

: :

READING:
[ ] Review "Prognosis User guide"

References

GTD

Emacs

Org Mode