diff --git a/.gitignore b/.gitignore
index 9aae8b4206b3cc95669d3b5bc8439dfb21016eb9..7b1e1150a10aa25a381a27b1af52b57adbb5d37a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,3 +19,4 @@ auto-save-list
 /games/tetris-scores
 /url
 /Tutoriel.odt
+/Configuration.el
diff --git a/Configuration.org b/Configuration.org
new file mode 100644
index 0000000000000000000000000000000000000000..46b9d4b4affa8383a76800369eb0509ef950c4a8
--- /dev/null
+++ b/Configuration.org
@@ -0,0 +1,997 @@
+#+STARTUP: org-pretty-entities entitiespretty
+#+PROPERTY: header-args :comments yes :results silent
+#+options: h:3 num:nil toc:nil
+
+* Choix d'interface
+** Pas d'écran de bienvenue
+#+BEGIN_SRC emacs-lisp
+  (setq inhibit-startup-message t)
+#+END_SRC
+
+** Augumente la mémoire pour le /garbage collector/ \rArr meilleures performances
+#+BEGIN_SRC emacs-lisp
+  (setq gc-cons-threshold 64000000)
+  (add-hook 'after-init-hook
+            #'(lambda ()
+                ;; restore after startup
+                (setq gc-cons-threshold 800000)))
+#+END_SRC
+
+** Pas de toolbar
+#+BEGIN_SRC emacs-lisp
+  (tool-bar-mode -1)
+#+END_SRC
+
+** Réponses par y ou n
+#+BEGIN_SRC emacs-lisp
+  (fset 'yes-or-no-p 'y-or-n-p)
+#+END_SRC
+
+** Commentaires
+| Raccourci | Description                       |
+|-----------+-----------------------------------|
+| ~C-c ;~   | Commente ou décommente une région |
+#+BEGIN_SRC emacs-lisp
+  (global-set-key (kbd "C-c ;") 'comment-or-uncomment-region)
+#+END_SRC
+
+** Affiche aussi le numéro de colone
+#+BEGIN_SRC emacs-lisp
+  (setq column-number-mode t)
+#+END_SRC
+
+** Désactive l'auto-save
+#+BEGIN_SRC emacs-lisp
+  (setq auto-save-default nil)
+#+END_SRC
+
+** Auto-fill
+Utilise l'auto-fill
+#+BEGIN_SRC emacs-lisp
+  (turn-on-auto-fill)
+#+END_SRC
+... sauf quand on code
+#+BEGIN_SRC emacs-lisp
+  (add-hook 'prog-mode-hook (lambda () (auto-fill-mode -1)))
+#+END_SRC
+
+** Supression des blancs inutiles
+On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un
+buffer
+#+BEGIN_SRC emacs-lisp
+  (add-hook 'before-save-hook
+            (lambda ()
+              (when (not (derived-mode-p 'ein:notebook-multilang-mode))
+                (delete-trailing-whitespace))))
+#+END_SRC
+
+** Affichage de la fonction courante
+#+BEGIN_SRC emacs-lisp
+  (which-function-mode t)
+#+END_SRC
+** Powerline
+Un bel affichage pour la barre d'état (=mode-line=)
+#+BEGIN_SRC emacs-lisp
+  (use-package powerline
+    :ensure t
+    :config (powerline-default-theme))
+#+END_SRC
+
+** Try
+Permet d'essayer des paquets (sans les installer de manère permanente)
+#+BEGIN_SRC emacs-lisp
+  (use-package try
+    :ensure t)
+#+END_SRC
+
+** Posframe
+Affiche des boites de dialogue
+#+BEGIN_SRC emacs-lisp
+  (use-package posframe
+    :ensure t)
+#+END_SRC
+
+** Which key
+Aide en ligne pour les raccourcis (/quelle touche ?/)
+#+BEGIN_SRC emacs-lisp
+    (use-package which-key
+      :ensure t
+      :config
+      (which-key-mode))
+#+END_SRC
+
+** Org mode
+Org bullets makes things look pretty
+#+BEGIN_SRC emacs-lisp
+  (use-package org
+    :ensure t
+    :pin org)
+
+  (setenv "BROWSER" "firefox")
+  (use-package org-bullets
+    :ensure t
+    :config
+    (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
+  (custom-set-variables
+   '(org-default-notes-file (concat org-directory "/notes.org"))
+   '(org-export-html-postamble nil)
+   '(org-hide-leading-stars t)
+   '(org-startup-folded (quote overview))
+   '(org-startup-indented t)
+   '(org-confirm-babel-evaluate nil)
+   '(org-src-fontify-natively t)
+   )
+
+  (setq org-file-apps
+        (append '(
+                  ("\\.pdf\\'" . "evince %s")
+                  ("\\.x?html?\\'" . "/usr/bin/firefox %s")
+                  ) org-file-apps ))
+
+  (global-set-key "\C-ca" 'org-agenda)
+  (setq org-agenda-start-on-weekday nil)
+  (setq org-agenda-custom-commands
+        '(("c" "Simple agenda view"
+           ((agenda "")
+            (alltodo "")))))
+
+  (global-set-key (kbd "C-c c") 'org-capture)
+
+  (defun make-capture-frame ()
+    "Create a new frame and run org-capture."
+    (interactive)
+    (make-frame '((name . "capture")))
+    (select-frame-by-name "capture")
+    (delete-other-windows)
+    (noflet ((switch-to-buffer-other-window (buf) (switch-to-buffer buf)))
+            (org-capture)))
+
+  (define-key org-mode-map (kbd "C-c >") (lambda () (interactive (org-time-stamp-inactive))))
+
+  (use-package htmlize :ensure t)
+
+  (setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar")
+#+END_SRC
+
+** Ace window
+Permet de changer facilement de fenêtre.  S'il y a plus de deux
+buffers leur numéros sont affichés et il suffit de taper le numéro de
+la fenêtre choisie pour s'y rendre.
+| Raccourci | Description                            |
+|-----------+----------------------------------------|
+| ~C-x o~   | Met le curseur dans une autre fenêtre. |
+#+BEGIN_SRC emacs-lisp
+  (use-package ace-window
+    :ensure t
+    :init
+    (progn
+      (setq aw-scope 'global) ;; was frame
+      (global-set-key (kbd "C-x O") 'other-frame)
+      (global-set-key [remap other-window] 'ace-window)
+      (custom-set-faces
+       '(aw-leading-char-face
+         ((t (:inherit ace-jump-face-foreground :height 3.0)))))
+      ))
+#+END_SRC
+
+** Ivy / Counsel
+Interface de complétion
+#+BEGIN_SRC emacs-lisp
+  (use-package counsel
+    :ensure t
+    :bind
+    (("M-y" . counsel-yank-pop)
+     :map ivy-minibuffer-map
+     ("M-y" . ivy-next-line)))
+
+  (use-package ivy
+    :ensure t
+    :diminish (ivy-mode)
+    :bind (("C-x b" . ivy-switch-buffer))
+    :config
+    (ivy-mode 1)
+    (setq ivy-use-virtual-buffers t)
+    (setq ivy-count-format "%d/%d ")
+    (setq ivy-display-style 'fancy))
+#+END_SRC
+
+** Swiper
+Améliore la recherche incrémentale. Les raccourcis sont les raccourcis
+classiques. Deux différences notables.
+- ~<SPC>~ joue le rôle de joker:
+  ~r<SPC>rc~ filtrera le mot /recherche/ par exemple
+- Si on souhaite créer un nouveau fichier avec ~C-x C-f~ dont le nom
+  est une sous chaîne d'un fichier existant, il ne faut pas utiliser
+  ~<RET>~ pour valider, mais ~C-j~. Utiliser ~<RET>~ valide la
+  recherche.
+
+| Raccourci | Description                                     |
+|-----------+-------------------------------------------------|
+| ~C-s~     | Recherche incrémentale vers le bas              |
+| ~C-r~     | Recherche incrémentale vers le haut             |
+| ~M-x~     | Recherche incrémentale d'une commande           |
+| ~C-x C-f~ | Recherche incrémentale ou création d'un fichier |
+#+BEGIN_SRC emacs-lisp
+  (use-package swiper
+  :ensure t
+  :bind (("C-s" . swiper-isearch)
+	 ("C-r" . swiper-isearch)
+	 ("C-c C-r" . ivy-resume)
+	 ("M-x" . counsel-M-x)
+	 ("C-x C-f" . counsel-find-file))
+  :config
+  (progn
+    (ivy-mode 1)
+    (setq ivy-use-virtual-buffers t)
+    (setq ivy-display-style 'fancy)
+    (define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
+    ))
+#+END_SRC
+
+** Avy
+Saute très rapidement vers la zone de texte contenant une lettre.
+| Raccourci | Description                         |
+|-----------+-------------------------------------|
+| ~M-s~     | Demande une lettre du mot recherché |
+#+BEGIN_SRC emacs-lisp
+  (use-package avy
+    :ensure t
+    :bind ("M-s" . avy-goto-word-1))
+#+END_SRC
+
+** Company
+Boites de dialogue pour la complétion
+#+BEGIN_SRC emacs-lisp
+  (use-package company
+    :ensure t
+    :config
+    (setq company-idle-delay 0)
+    (setq company-minimum-prefix-length 3)
+
+    (global-company-mode t))
+
+  (defun my/python-mode-hook ()
+    (add-to-list 'company-backends 'company-jedi))
+
+  (add-hook 'python-mode-hook 'my/python-mode-hook)
+  (use-package company-jedi
+    :ensure t
+    :config
+    (add-hook 'python-mode-hook 'jedi:setup)
+    )
+
+  (defun my/python-mode-hook ()
+    (add-to-list 'company-backends 'company-jedi))
+
+  (add-hook 'python-mode-hook 'my/python-mode-hook)
+#+END_SRC
+
+** C++
+Transforme Emacs en un véritable IDE en utilisant Irony
+*** On branche Irony à Company
+#+BEGIN_SRC emacs-lisp
+  (use-package company-irony
+    :ensure t
+    :config
+    (add-to-list 'company-backends 'company-irony))
+#+END_SRC
+
+*** On active Irony pour le C++
+#+BEGIN_SRC emacs-lisp
+  (use-package irony
+    :ensure t
+    :config
+    (add-hook 'c++-mode-hook 'irony-mode)
+    (add-hook 'c-mode-hook 'irony-mode)
+    (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options))
+#+END_SRC
+
+*** Eldoc / Irony
+Affiche la documentation des objets/functions dans le minibuffer
+#+BEGIN_SRC emacs-lisp
+  (use-package irony-eldoc
+    :ensure t
+    :config
+    (add-hook 'irony-mode-hook #'irony-eldoc))
+#+END_SRC
+
+*** Formatage automatique : clang-format
+Création d'un raccourci spécial pour formater une zone du code.
+| Raccourci | Description                                      |
+|-----------+--------------------------------------------------|
+| ~C-c C-f~ | Indente la région comme définie par clang-format |
+#+BEGIN_SRC emacs-lisp
+  (use-package clang-format
+    :ensure t
+    :bind
+    (("C-c C-f" . clang-format-region)))
+#+END_SRC
+
+Remplace l'indentation classique d'Emacs par clang-format en C/C++
+| Raccourci | Description                                      |
+|-----------+--------------------------------------------------|
+| ~<TAB>~   | Indente la région comme définie par clang-format |
+#+BEGIN_SRC emacs-lisp
+  (defun clang-format-c-mode-common-hook ()
+    (fset 'c-indent-region 'clang-format-region)
+    (define-key c-mode-base-map (kbd "<tab>") 'clang-format-region))
+  (add-hook 'c-mode-common-hook 'clang-format-c-mode-common-hook)
+#+END_SRC
+
+Force le formatage du fichier quand il est sauvgardé
+#+BEGIN_SRC emacs-lisp
+  (defun clang-format-buffer-on-save ()
+    "Add auto-save hook for clang-format-buffer-smart."
+    (add-hook 'before-save-hook 'clang-format-buffer nil t))
+  (add-hook 'c-mode-common-hook 'clang-format-buffer-on-save)
+#+END_SRC
+
+*** Coloration syntaxique (C++ moderne)
+#+BEGIN_SRC emacs-lisp
+  (use-package modern-cpp-font-lock
+    :ensure t
+    :init
+    (eval-when-compile
+      ;; Silence missing function warnings
+      (declare-function modern-c++-font-lock-global-mode
+                        "modern-cpp-font-lock.el"))
+    :config (modern-c++-font-lock-global-mode t))
+#+END_SRC
+
+** Themes
+Préchargement de quelques themes
+#+BEGIN_SRC emacs-lisp
+  (use-package cloud-theme :ensure t)
+  (use-package zenburn-theme :ensure t)
+  (use-package sourcerer-theme :ensure t)
+  (use-package monokai-theme :ensure t)
+  (use-package gruvbox-theme :ensure t)
+  (use-package bubbleberry-theme :ensure t)
+  (use-package solarized-theme :ensure t)
+#+END_SRC
+
+Chargement d'un theme
+#+BEGIN_SRC emacs-lisp
+  (load-theme 'sourcerer t)
+#+END_SRC
+
+** Modeline
+Augmente la taille de la police
+#+BEGIN_SRC emacs-lisp
+  (defvar my-font-size 140)
+#+END_SRC
+
+Taille de la Modeline
+#+BEGIN_SRC emacs-lisp
+  (set-face-attribute 'mode-line nil  :height my-font-size)
+#+END_SRC
+
+Taille du titre
+#+BEGIN_SRC emacs-lisp
+  (set-face-attribute 'header-line nil  :height my-font-size)
+#+END_SRC
+
+Taille des attributs
+#+BEGIN_SRC emacs-lisp
+  (set-face-attribute 'default nil :height my-font-size)
+#+END_SRC
+
+Taille de la fenêtre et position
+#+BEGIN_SRC emacs-lisp
+  (setq default-frame-alist
+        '((top . 0) (left . 0) ;; position
+          (width . 110) (height . 90) ;; size
+          ))
+#+END_SRC
+
+** Parenthèses arc-en-ciel
+Améliore le visuel des parenthèses
+#+BEGIN_SRC emacs-lisp
+  (use-package rainbow-delimiters
+    :ensure t
+    :init
+    (eval-when-compile
+      ;; Silence missing function warnings
+      (declare-function rainbow-delimiters-mode "rainbow-delimiters.el"))
+    (add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
+#+END_SRC
+
+** Flycheck
+On branche flycheck à Irony
+#+BEGIN_SRC emacs-lisp
+  (use-package flycheck-irony
+    :ensure t
+    :config
+    (eval-after-load 'flycheck
+      '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)))
+#+END_SRC
+
+On charge flycheck
+#+BEGIN_SRC emacs-lisp
+  (use-package flycheck
+    :ensure t
+    :init
+    (global-flycheck-mode t))
+#+END_SRC
+
+Active flycheck globalement
+#+BEGIN_SRC
+  (add-hook 'after-init-hook #'global-flycheck-mode)
+#+END_SRC
+** Python
+Attention pour que la configuration fonctionne, il faut installer
+~virtualenv~. Pour les systèmes Debian
+#+BEGIN_SRC shell
+apt install virtualenv
+#+END_SRC
+#+BEGIN_SRC emacs-lisp
+  (setq py-python-command "python3")
+  (setq python-shell-interpreter "python3")
+
+  (use-package elpy
+    :ensure t
+    :custom (elpy-rpc-backend "jedi")
+    :config
+    (elpy-enable))
+
+  (use-package virtualenvwrapper
+    :ensure t
+    :config
+    (venv-initialize-interactive-shells)
+    (venv-initialize-eshell))
+#+END_SRC
+
+** YaSnippet
+Le système de templates pour Emacs
+#+BEGIN_SRC emacs-lisp
+  (use-package yasnippet
+    :ensure t
+    :init (yas-global-mode 1))
+
+  (use-package yasnippet-snippets
+    :ensure t)
+#+END_SRC
+
+** Divers paquets
+*** Highlight line
+Mise en valeur de la ligne courante
+#+BEGIN_SRC emacs-lisp
+  (global-hl-line-mode t)
+#+END_SRC
+
+*** Beacon
+Flash de la ligne aux changements de page ou de buffer
+#+BEGIN_SRC emacs-lisp
+  (use-package beacon
+    :ensure t
+    :config
+    (beacon-mode 1))
+#+END_SRC
+
+*** hungry-delete
+Suppression de tous les blancs quand appuie sur backspace ou delete
+#+BEGIN_SRC emacs-lisp
+  (use-package hungry-delete
+    :ensure t
+    :config
+    (global-hungry-delete-mode))
+#+END_SRC
+
+*** Multiple-cursors
+Permet l'utilisation de plusieurs curseurs simultanément
+#+BEGIN_SRC emacs-lisp
+  (use-package multiple-cursors
+    :ensure t)
+#+END_SRC
+
+*** Expand-region
+Sélectionne une zone de manière incrémentale. mot, phrase, paragraphe,
+etc de manière intelligente.
+#+BEGIN_SRC emacs-lisp
+  (use-package expand-region
+    :ensure t
+    :config
+    (global-set-key (kbd "C-=") 'er/expand-region))
+#+END_SRC
+
+*** Meilleure gestion du ~kill-ring~
+#+BEGIN_SRC emacs-lisp
+  (setq save-interprogram-paste-before-kill t)
+#+END_SRC
+
+*** Gestion de la restauration des buffers
+#+BEGIN_SRC emacs-lisp
+  (global-auto-revert-mode 1)
+  (setq auto-revert-verbose nil)
+  (global-set-key (kbd "<f5>") 'revert-buffer)
+#+END_SRC
+
+** iedit
+Modifie les copies d'une zone séléctionnée simultanément
+
+| Raccourci   | Description                |
+|-------------+----------------------------|
+| ~C-h C-;~   | démarrer les modifications |
+| ~M-ESC ESC~ | sortir du mode             |
+#+BEGIN_SRC emacs-lisp
+  (use-package iedit
+    :ensure t)
+#+END_SRC
+
+** Narrow/widen dwim
+Réduit/agrandit une zone d'édition de manière intelligente
+#+BEGIN_SRC emacs-lisp
+  (defun narrow-or-widen-dwim (p)
+    "If the buffer is narrowed, it widens. Otherwise, it narrows intelligently.
+  Intelligently means: region, org-src-block, org-subtree, or defun,
+  whichever applies first.
+  Narrowing to org-src-block actually calls `org-edit-src-code'.
+
+  With prefix P, don't widen, just narrow even if buffer is already
+  narrowed."
+    (interactive "P")
+    (declare (interactive-only))
+    (cond ((and (buffer-narrowed-p) (not p)) (widen))
+          ((region-active-p)
+           (narrow-to-region (region-beginning) (region-end)))
+          ((derived-mode-p 'org-mode)
+           ;; `org-edit-src-code' is not a real narrowing command.
+           ;; Remove this first conditional if you don't want it.
+           (cond ((ignore-errors (org-edit-src-code))
+                  (delete-other-windows))
+                 ((org-at-block-p)
+                  (org-narrow-to-block))
+                 (t (org-narrow-to-subtree))))
+          (t (narrow-to-defun))))
+#+END_SRC
+
+Remplace la fonction Emacs standard par =dwim=
+#+BEGIN_SRC emacs-lisp
+  (define-key ctl-x-map "n" #'narrow-or-widen-dwim)
+#+END_SRC
+
+** Web Mode
+Mode avancé pour l'édition de pages =html=, =CSS=,...
+#+BEGIN_SRC emacs-lisp
+  (use-package web-mode
+    :ensure t
+    :config
+    (add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
+    (add-to-list 'auto-mode-alist '("\\.vue?\\'" . web-mode))
+    (setq web-mode-engines-alist
+          '(("django"    . "\\.html\\'")))
+    (setq web-mode-ac-sources-alist
+          '(("css" . (ac-source-css-property))
+            ("vue" . (ac-source-words-in-buffer ac-source-abbrev))
+            ("html" . (ac-source-words-in-buffer ac-source-abbrev))))
+    (setq web-mode-enable-auto-closing t))
+  (setq web-mode-enable-auto-quoting t) ; this fixes the quote problem I mentioned
+#+END_SRC
+
+** Emmet mode
+Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgml,...)
+#+BEGIN_SRC emacs-lisp
+  (use-package emmet-mode
+    :ensure t
+    :config
+    ;; Auto-start on any markup modes
+    (add-hook 'sgml-mode-hook 'emmet-mode)
+    ;; Auto-start on any markup modes
+    (add-hook 'web-mode-hook  'emmet-mode)
+    ;; enable Emmet's css abbreviation
+    (add-hook 'css-mode-hook  'emmet-mode))
+#+END_SRC
+
+** Dired
+Permet d'utiliser reduire/agrandir les affichages de répertoires
+#+BEGIN_SRC emacs-lisp
+  (setq dired-dwim-target t)
+
+  (use-package dired-narrow
+    :ensure t
+    :config
+    (bind-key "C-c C-n" #'dired-narrow)
+    (bind-key "C-c C-f" #'dired-narrow-fuzzy)
+    (bind-key "C-x C-N" #'dired-narrow-regexp))
+
+  (use-package dired-subtree :ensure t
+    :after dired
+    :config
+    (bind-key "<tab>" #'dired-subtree-toggle dired-mode-map)
+    (bind-key "<backtab>" #'dired-subtree-cycle dired-mode-map))
+#+END_SRC
+
+** LaTeX
+Configuration LaTeX basique.
+#+BEGIN_SRC emacs-lisp
+  (use-package tex
+    :ensure auctex)
+
+  (defun tex-view ()
+    (interactive)
+    (tex-send-command "evince" (tex-append tex-print-file ".pdf")))
+#+END_SRC
+
+** Gestion de projets
+#+BEGIN_SRC emacs-lisp
+  (use-package projectile
+    :ensure t
+    :bind ("C-c p" . projectile-command-map)
+    :config
+    (projectile-mode)
+    (setq projectile-completion-system 'ivy))
+#+END_SRC
+
+** Org mode (langages suportés)
+Charge les langages disponnibles pour org-mode
+#+BEGIN_SRC emacs-lisp
+  (org-babel-do-load-languages
+   'org-babel-load-languages
+   '((python . t)
+     (emacs-lisp . t)
+     (shell . t)
+     (C . t)
+     (js . t)
+     (ditaa . t)
+     (dot . t)
+     (org . t)
+     (latex . t )))
+#+END_SRC
+
+** Parenthèses
+#+BEGIN_SRC emacs-lisp
+  (use-package smartparens
+    :ensure t
+    :hook (prog-mode . smartparens-mode)
+    :custom
+    (sp-escape-quotes-after-insert nil)
+    :config
+    (require 'smartparens-config))
+
+  (show-paren-mode t)
+  (setq show-paren-style 'mixed)
+#+END_SRC
+
+** Taille de la police
+Change la taille de la police dynamiquement (temporaire)
+| Raccourci | Description                     |
+|-----------+---------------------------------|
+| ~C-M-=~   | Augmente la taille de la police |
+| ~C-M--~   | Réduit la taille de la police   |
+#+BEGIN_SRC emacs-lisp
+  (use-package default-text-scale
+    :ensure t
+    :config
+    (global-set-key (kbd "C-M-=") 'default-text-scale-increase)
+    (global-set-key (kbd "C-M--") 'default-text-scale-decrease))
+#+END_SRC
+
+** Hydra
+Outil de simplification des raccourcis. Un popup contextuel apparaît.
+| Raccourci | Description                           |
+|-----------+---------------------------------------|
+| ~C-x t~   | Active désactive certains utilitaires |
+| ~C-x j~   | Déplacement dans le /buffer/          |
+| ~C-c t~   | Gestion du timer                      |
+#+BEGIN_SRC emacs-lisp
+  (use-package hydra
+    :ensure hydra
+    :init
+    (global-set-key
+     (kbd "C-x t")
+     (defhydra toggle (:color blue)
+       "toggle"
+       ("a" abbrev-mode "abbrev")
+       ("s" flyspell-mode "flyspell")
+       ("d" toggle-debug-on-error "debug")
+       ("c" fci-mode "fCi")
+       ("f" auto-fill-mode "fill")
+       ("t" toggle-truncate-lines "truncate")
+       ("w" whitespace-mode "whitespace")
+       ("q" nil "cancel")))
+    (global-set-key
+     (kbd "C-x j")
+     (defhydra gotoline
+       ( :pre (linum-mode 1)
+              :post (linum-mode -1))
+       "goto"
+       ("t" (lambda () (interactive)(move-to-window-line-top-bottom 0)) "top")
+       ("b" (lambda () (interactive)(move-to-window-line-top-bottom -1)) "bottom")
+       ("m" (lambda () (interactive)(move-to-window-line-top-bottom)) "middle")
+       ("e" (lambda () (interactive)(goto-char (point-max))) "end")
+       ("c" recenter-top-bottom "recenter")
+       ("n" next-line "down")
+       ("p" (lambda () (interactive) (forward-line -1))  "up")
+       ("g" goto-line "goto-line")
+       ))
+    (global-set-key
+     (kbd "C-c t")
+     (defhydra hydra-global-org (:color blue)
+       "Org"
+       ("t" org-timer-start "Start Timer")
+       ("s" org-timer-stop "Stop Timer")
+       ("r" org-timer-set-timer "Set Timer") ; This one requires you be in an orgmode doc, as it sets the timer for the header
+       ("p" org-timer "Print Timer") ; output timer value to buffer
+       ("w" (org-clock-in '(4)) "Clock-In") ; used with (org-clock-persistence-insinuate) (setq org-clock-persist t)
+       ("o" org-clock-out "Clock-Out") ; you might also want (setq org-log-note-clock-out t)
+       ("j" org-clock-goto "Clock Goto") ; global visit the clocked task
+       ("c" org-capture "Capture") ; Don't forget to define the captures you want http://orgmode.org/manual/Capture.html
+       ("l" (or )rg-capture-goto-last-stored "Last Capture"))
+
+     ))
+
+  (defhydra hydra-multiple-cursors (:hint nil)
+    "
+   Up^^             Down^^           Miscellaneous           % 2(mc/num-cursors) cursor%s(if (> (mc/num-cursors) 1) \"s\" \"\")
+  ------------------------------------------------------------------
+   [_p_]   Next     [_n_]   Next     [_l_] Edit lines  [_0_] Insert numbers
+   [_P_]   Skip     [_N_]   Skip     [_a_] Mark all    [_A_] Insert letters
+   [_M-p_] Unmark   [_M-n_] Unmark   [_s_] Search
+   [Click] Cursor at point       [_q_] Quit"
+    ("l" mc/edit-lines :exit t)
+    ("a" mc/mark-all-like-this :exit t)
+    ("n" mc/mark-next-like-this)
+    ("N" mc/skip-to-next-like-this)
+    ("M-n" mc/unmark-next-like-this)
+    ("p" mc/mark-previous-like-this)
+    ("P" mc/skip-to-previous-like-this)
+    ("M-p" mc/unmark-previous-like-this)
+    ("s" mc/mark-all-in-region-regexp :exit t)
+    ("0" mc/insert-numbers :exit t)
+    ("A" mc/insert-letters :exit t)
+    ("<mouse-1>" mc/add-cursor-on-click)
+    ;; Help with click recognition in this hydra
+    ("<down-mouse-1>" ignore)
+    ("<drag-mouse-1>" ignore)
+    ("q" nil)
+
+    ("<mouse-1>" mc/add-cursor-on-click)
+    ("<down-mouse-1>" ignore)
+    ("<drag-mouse-1>" ignore))
+#+END_SRC
+
+** Modes git
+Le sublime *magit*
+| Raccourci | Description                          |
+|-----------+--------------------------------------|
+| ~C-x g~   | Démarre *magit* (~M-x magit-status~) |
+#+BEGIN_SRC emacs-lisp
+  (use-package magit
+    :ensure t
+    :init
+    (progn (bind-key "C-x g" 'magit-status)))
+#+END_SRC
+
+Affiche l'état git dans la marge
+#+BEGIN_SRC emacs-lisp
+  (setq magit-status-margin
+        '(nil "%Y-%m-%d %H:%M " magit-log-margin-width t 18))
+#+END_SRC
+
+Utilise git-gutter avec hydra. Permet de voir rapidement les
+modifications, de les valider (~git add -p~) ou de les annuler (~git checkout -p~)
+| Raccourci | Description                          |
+|-----------+--------------------------------------|
+| ~C-x g~   | Démarre *magit* (~M-x magit-status~) |
+#+BEGIN_SRC emacs-lisp
+  (use-package git-gutter
+    :ensure t
+    :init
+    (global-git-gutter-mode +1))
+
+  (global-set-key (kbd "M-g M-g") 'hydra-git-gutter/body)
+
+  (use-package git-timemachine
+    :ensure t)
+  (defhydra hydra-git-gutter (:body-pre (git-gutter-mode 1)
+                                        :hint nil)
+    "
+  Git gutter:
+    _j_: next hunk        _s_tage hunk     _q_uit
+    _k_: previous hunk    _r_evert hunk    _Q_uit and deactivate git-gutter
+    ^ ^                   _p_opup hunk
+    _h_: first hunk
+    _l_: last hunk        set start _R_evision
+  "
+    ("j" git-gutter:next-hunk)
+    ("k" git-gutter:previous-hunk)
+    ("h" (progn (goto-char (point-min))
+                (git-gutter:next-hunk 1)))
+    ("l" (progn (goto-char (point-min))
+                (git-gutter:previous-hunk 1)))
+    ("s" git-gutter:stage-hunk)
+    ("r" git-gutter:revert-hunk)
+    ("p" git-gutter:popup-hunk)
+    ("R" git-gutter:set-start-revision)
+    ("q" nil :color blue)
+    ("Q" (progn (git-gutter-mode -1)
+                ;; git-gutter-fringe doesn't seem to
+                ;; clear the markup right away
+                (sit-for 0.1)
+                (git-gutter-mode))
+     :color blue))
+#+END_SRC
+
+** Flyspell
+Correcteur orthographique à la volée
+#+BEGIN_SRC emacs-lisp
+  (add-hook 'org-mode-hook 'turn-on-flyspell)
+  (add-hook 'org-mode-hook 'turn-on-auto-fill)
+  (add-hook 'mu4e-compose-mode-hook 'turn-on-flyspell)
+  (add-hook 'mu4e-compose-mode-hook 'turn-on-auto-fill)
+#+END_SRC
+
+** C++
+Activation des *ggtags*
+#+BEGIN_SRC emacs-lisp
+  (use-package ggtags
+    :ensure t
+    :config
+    (add-hook 'c-mode-common-hook
+              (lambda ()
+                (when (derived-mode-p 'c-mode 'c++-mode 'java-mode)
+                  (ggtags-mode 1)))))
+#+END_SRC
+
+** CMake
+#+BEGIN_SRC emacs-lisp
+  (use-package cmake-mode
+    :ensure t
+    :mode ("CMakeLists.txt" ".cmake")
+    :hook (cmake-mode . (lambda ()
+                          (add-to-list 'company-backends 'company-cmake)))
+    :config
+    (use-package cmake-font-lock
+      :ensure t
+      :defer t
+      :commands (cmake-font-lock-activate)
+      :hook (cmake-mode . (lambda ()
+                            (cmake-font-lock-activate)
+                            (font-lock-add-keywords
+                             nil '(("\\<\\(FIXME\\|TODO\\|BUG\\|DONE\\)"
+                                    1 font-lock-warning-face t)))))))
+#+END_SRC
+
+** Markdown
+#+BEGIN_SRC emacs-lisp
+  (use-package markdown-mode
+    :ensure t
+    :mode (".md" ".markdown"))
+#+END_SRC
+
+** Dumb jump
+Permet de se déplacer *très* rapidement dans un texte ou de retrouver
+une définition.
+| Raccourci | Description                                                             |
+|-----------+-------------------------------------------------------------------------|
+| ~M-g o~   | Saute à la définition de l'objet sous le curseur dans une autre fenêtre |
+| ~M-g j~   | Saute à la définition de l'objet sous le curseur                        |
+#+BEGIN_SRC emacs-lisp
+  (use-package dumb-jump
+    :bind (("M-g o" . dumb-jump-go-other-window)
+           ("M-g j" . dumb-jump-go)
+           ("M-g x" . dumb-jump-go-prefer-external)
+           ("M-g z" . dumb-jump-go-prefer-external-other-window))
+    :init
+    (dumb-jump-mode)
+    :ensure t)
+#+END_SRC
+
+** Origami
+Mode permettant le pliage (/folding/) de regions
+#+BEGIN_SRC emacs-lisp
+  (use-package origami
+    :ensure t)
+#+END_SRC
+
+** IBuffer
+Un meilleur gestionnaire de /buffers/.
+
+| Raccourci | Description                        |
+|-----------+------------------------------------|
+| ~C-x C-b~ | Ouvre le gestionnaire de /buffers/ |
+| ~C-x b~   | Change de /buffer/                 |
+#+BEGIN_SRC emacs-lisp
+  (global-set-key (kbd "C-x C-b") 'ibuffer)
+  (setq ibuffer-saved-filter-groups
+        (quote (("default"
+                 ("dired" (mode . dired-mode))
+                 ("org" (name . "^.*org$"))
+                 ("magit" (mode . magit-mode))
+                 ("IRC" (or (mode . circe-channel-mode)
+                            (mode . circe-server-mode)))
+                 ("web" (or (mode . web-mode) (mode . js2-mode)))
+                 ("shell" (or (mode . eshell-mode) (mode . shell-mode)))
+                 ("mu4e" (or (mode . mu4e-compose-mode)
+                             (name . "\\*mu4e\\*")))
+                 ("programming" (or (mode . clojure-mode)
+                                    (mode . clojurescript-mode)
+                                    (mode . python-mode)
+                                    (mode . c++-mode)))
+                 ("emacs" (or (name . "^\\*scratch\\*$")
+                              (name . "^\\*Messages\\*$")))
+                 ))))
+  (add-hook 'ibuffer-mode-hook
+            (lambda ()
+              (ibuffer-auto-mode 1)
+              (ibuffer-switch-to-saved-filter-groups "default")))
+
+  ;; Don't show filter groups if there are no buffers in that group
+  (setq ibuffer-show-empty-filter-groups nil)
+
+  ;; Don't ask for confirmation to delete marked buffers
+  (setq ibuffer-expert t)
+#+END_SRC
+
+** Wgrep
+Permet de modifier le résultat d'un *grep* (donc simultanément dans
+plusieurs fichiers par exemple).
+
+| Raccourci | Description                                              |
+|-----------+----------------------------------------------------------|
+| ~C-c C-p~ | passe en mode écriture dans le buffer résultat de *grep* |
+| ~C-c C-e~ | sauve les modifications                                  |
+| ~C-x C-q~ | quitte le mode                                           |
+voir [[https://github.com/emacsmirror/emacswiki.org/blob/master/wgrep.el][wgrep]] pour plus d'infos.
+#+BEGIN_SRC emacs-lisp
+  (use-package wgrep
+    :ensure t)
+  (use-package wgrep-ag
+    :ensure t)
+  (require 'wgrep-ag)
+#+END_SRC
+
+** PDF tools
+Outils d'édition de PDF dans Emacs
+#+BEGIN_SRC emacs-lisp
+  (use-package pdf-tools
+    :ensure t)
+  (use-package org-pdfview
+    :ensure t)
+#+END_SRC
+
+** AutoYASnippet
+Outil de création rapide de snipets.
+Voir la documentation en ligne [[https://github.com/abo-abo/auto-yasnippet]]
+#+BEGIN_SRC emacs-lisp
+  (use-package auto-yasnippet
+    :ensure t)
+#+END_SRC
+
+** Divers
+Quelques réglages utilitaires
+#+BEGIN_SRC emacs-lisp
+  (setq browse-url-browser-function 'browse-url-generic
+        browse-url-generic-program "firefox")
+  (setq auto-window-vscroll nil)
+  (blink-cursor-mode t)
+  (setq default-frame-alist
+        '((cursor-color . "DarkGrey")))
+#+END_SRC
+
+** Keyfreq
+Enregistre la fréquence d'utilisation de commandes.
+Pour obtenir les statistiques, utiliser la commande
+~M-x keyfreq-show~
+#+BEGIN_SRC emacs-lisp
+  (use-package keyfreq
+    :ensure t
+    :config
+    (require 'keyfreq)
+    (keyfreq-mode 1)
+    (keyfreq-autosave-mode 1))
+#+END_SRC
+
+** Dictionnaire et césures
+#+BEGIN_SRC emacs-lisp
+  (use-package dictionary
+    :ensure t)
+  (use-package synosaurus
+    :ensure t)
+#+END_SRC
+
+#+BEGIN_COMMENT
+Local Variables:
+ispell-local-dictionary: "francais"
+End:
+#+END_COMMENT
diff --git a/Readme.org b/Readme.org
index 300960629a2ae9678f0344091aec4b20e0200e3c..3a88a49794b31259c8ea9788d27608a7e2ebf5ee 100644
--- a/Readme.org
+++ b/Readme.org
@@ -1,6 +1,6 @@
 #+STARTUP: org-pretty-entities entitiespretty
 #+PROPERTY: header-args :comments yes :results silent
-#+options: h:3 num:nil toc:nil
+#+OPTIONS: h:4 num:nil toc:nil
 
 * Installation
 L'installation la plus simple de cette configuration se résume à
@@ -26,994 +26,11 @@ On fournit un [[file:Tutoriel.org][tutoriel]] qui n'a pour but que de donner que
 liens utiles et rappeler les principes de base et quelques raccourcis.
 
 * Configuration
-** Choix d'interface
-*** Pas d'écran de bienvenue
-#+BEGIN_SRC emacs-lisp
-  (setq inhibit-startup-message t)
-#+END_SRC
-
-*** Augumente la mémoire pour le /garbage collector/ \rArr meilleures performances
-#+BEGIN_SRC emacs-lisp
-  (setq gc-cons-threshold 64000000)
-  (add-hook 'after-init-hook
-            #'(lambda ()
-                ;; restore after startup
-                (setq gc-cons-threshold 800000)))
-#+END_SRC
-
-*** Pas de toolbar
-#+BEGIN_SRC emacs-lisp
-  (tool-bar-mode -1)
-#+END_SRC
-
-*** Réponses par y ou n
-#+BEGIN_SRC emacs-lisp
-  (fset 'yes-or-no-p 'y-or-n-p)
-#+END_SRC
-
-*** Commentaires
-| Raccourci | Description                       |
-|-----------+-----------------------------------|
-| ~C-c ;~   | Commente ou décommente une région |
-#+BEGIN_SRC emacs-lisp
-  (global-set-key (kbd "C-c ;") 'comment-or-uncomment-region)
-#+END_SRC
-
-*** Affiche aussi le numéro de colone
-#+BEGIN_SRC emacs-lisp
-  (setq column-number-mode t)
-#+END_SRC
-
-*** Désactive l'auto-save
-#+BEGIN_SRC emacs-lisp
-  (setq auto-save-default nil)
-#+END_SRC
-
-*** Auto-fill
-Utilise l'auto-fill
-#+BEGIN_SRC emacs-lisp
-  (turn-on-auto-fill)
-#+END_SRC
-... sauf quand on code
-#+BEGIN_SRC emacs-lisp
-  (add-hook 'prog-mode-hook (lambda () (auto-fill-mode -1)))
-#+END_SRC
-
-*** Supression des blancs inutiles
-On retire les blancs qui traînent en fin de ligne à la sauvegarde d'un
-buffer
-#+BEGIN_SRC emacs-lisp
-  (add-hook 'before-save-hook
-            (lambda ()
-              (when (not (derived-mode-p 'ein:notebook-multilang-mode))
-                (delete-trailing-whitespace))))
-#+END_SRC
-
-*** Affichage de la fonction courante
-#+BEGIN_SRC emacs-lisp
-  (which-function-mode t)
-#+END_SRC
-** Powerline
-Un bel affichage pour la barre d'état (=mode-line=)
-#+BEGIN_SRC emacs-lisp
-  (use-package powerline
-    :ensure t
-    :config (powerline-default-theme))
-#+END_SRC
-
-** Try
-Permet d'essayer des paquets (sans les installer de manère permanente)
-#+BEGIN_SRC emacs-lisp
-  (use-package try
-    :ensure t)
-#+END_SRC
-
-** Posframe
-Affiche des boites de dialogue
-#+BEGIN_SRC emacs-lisp
-  (use-package posframe
-    :ensure t)
-#+END_SRC
-
-** Which key
-Aide en ligne pour les raccourcis (/quelle touche ?/)
-#+BEGIN_SRC emacs-lisp
-    (use-package which-key
-      :ensure t
-      :config
-      (which-key-mode))
-#+END_SRC
-
-** Org mode
-Org bullets makes things look pretty
-#+BEGIN_SRC emacs-lisp
-  (use-package org
-    :ensure t
-    :pin org)
-
-  (setenv "BROWSER" "firefox")
-  (use-package org-bullets
-    :ensure t
-    :config
-    (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
-  (custom-set-variables
-   '(org-default-notes-file (concat org-directory "/notes.org"))
-   '(org-export-html-postamble nil)
-   '(org-hide-leading-stars t)
-   '(org-startup-folded (quote overview))
-   '(org-startup-indented t)
-   '(org-confirm-babel-evaluate nil)
-   '(org-src-fontify-natively t)
-   )
-
-  (setq org-file-apps
-        (append '(
-                  ("\\.pdf\\'" . "evince %s")
-                  ("\\.x?html?\\'" . "/usr/bin/firefox %s")
-                  ) org-file-apps ))
-
-  (global-set-key "\C-ca" 'org-agenda)
-  (setq org-agenda-start-on-weekday nil)
-  (setq org-agenda-custom-commands
-        '(("c" "Simple agenda view"
-           ((agenda "")
-            (alltodo "")))))
-
-  (global-set-key (kbd "C-c c") 'org-capture)
-
-  (defun make-capture-frame ()
-    "Create a new frame and run org-capture."
-    (interactive)
-    (make-frame '((name . "capture")))
-    (select-frame-by-name "capture")
-    (delete-other-windows)
-    (noflet ((switch-to-buffer-other-window (buf) (switch-to-buffer buf)))
-            (org-capture)))
-
-  (define-key org-mode-map (kbd "C-c >") (lambda () (interactive (org-time-stamp-inactive))))
-
-  (use-package htmlize :ensure t)
-
-  (setq org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar")
-#+END_SRC
-
-** Ace window
-Permet de changer facilement de fenêtre.  S'il y a plus de deux
-buffers leur numéros sont affichés et il suffit de taper le numéro de
-la fenêtre choisie pour s'y rendre.
-| Raccourci | Description                            |
-|-----------+----------------------------------------|
-| ~C-x o~   | Met le curseur dans une autre fenêtre. |
-#+BEGIN_SRC emacs-lisp
-  (use-package ace-window
-    :ensure t
-    :init
-    (progn
-      (setq aw-scope 'global) ;; was frame
-      (global-set-key (kbd "C-x O") 'other-frame)
-      (global-set-key [remap other-window] 'ace-window)
-      (custom-set-faces
-       '(aw-leading-char-face
-         ((t (:inherit ace-jump-face-foreground :height 3.0)))))
-      ))
-#+END_SRC
-
-** Ivy / Counsel
-Interface de complétion
-#+BEGIN_SRC emacs-lisp
-  (use-package counsel
-    :ensure t
-    :bind
-    (("M-y" . counsel-yank-pop)
-     :map ivy-minibuffer-map
-     ("M-y" . ivy-next-line)))
-
-  (use-package ivy
-    :ensure t
-    :diminish (ivy-mode)
-    :bind (("C-x b" . ivy-switch-buffer))
-    :config
-    (ivy-mode 1)
-    (setq ivy-use-virtual-buffers t)
-    (setq ivy-count-format "%d/%d ")
-    (setq ivy-display-style 'fancy))
-#+END_SRC
-
-** Swiper
-Améliore la recherche incrémentale. Les raccourcis sont les raccourcis
-classiques. Deux différences notables.
-- ~<SPC>~ joue le rôle de joker:
-  ~r<SPC>rc~ filtrera le mot /recherche/ par exemple
-- Si on souhaite créer un nouveau fichier avec ~C-x C-f~ dont le nom
-  est une sous chaîne d'un fichier existant, il ne faut pas utiliser
-  ~<RET>~ pour valider, mais ~C-j~. Utiliser ~<RET>~ valide la
-  recherche.
-
-| Raccourci | Description                                     |
-|-----------+-------------------------------------------------|
-| ~C-s~     | Recherche incrémentale vers le bas              |
-| ~C-r~     | Recherche incrémentale vers le haut             |
-| ~M-x~     | Recherche incrémentale d'une commande           |
-| ~C-x C-f~ | Recherche incrémentale ou création d'un fichier |
-#+BEGIN_SRC emacs-lisp
-  (use-package swiper
-  :ensure t
-  :bind (("C-s" . swiper-isearch)
-	 ("C-r" . swiper-isearch)
-	 ("C-c C-r" . ivy-resume)
-	 ("M-x" . counsel-M-x)
-	 ("C-x C-f" . counsel-find-file))
-  :config
-  (progn
-    (ivy-mode 1)
-    (setq ivy-use-virtual-buffers t)
-    (setq ivy-display-style 'fancy)
-    (define-key read-expression-map (kbd "C-r") 'counsel-expression-history)
-    ))
-#+END_SRC
-
-** Avy
-Saute très rapidement vers la zone de texte contenant une lettre.
-| Raccourci | Description                         |
-|-----------+-------------------------------------|
-| ~M-s~     | Demande une lettre du mot recherché |
-#+BEGIN_SRC emacs-lisp
-  (use-package avy
-    :ensure t
-    :bind ("M-s" . avy-goto-word-1))
-#+END_SRC
-
-** Company
-Boites de dialogue pour la complétion
-#+BEGIN_SRC emacs-lisp
-  (use-package company
-    :ensure t
-    :config
-    (setq company-idle-delay 0)
-    (setq company-minimum-prefix-length 3)
-
-    (global-company-mode t))
-
-  (defun my/python-mode-hook ()
-    (add-to-list 'company-backends 'company-jedi))
-
-  (add-hook 'python-mode-hook 'my/python-mode-hook)
-  (use-package company-jedi
-    :ensure t
-    :config
-    (add-hook 'python-mode-hook 'jedi:setup)
-    )
-
-  (defun my/python-mode-hook ()
-    (add-to-list 'company-backends 'company-jedi))
-
-  (add-hook 'python-mode-hook 'my/python-mode-hook)
-#+END_SRC
-
-** C++
-Transforme Emacs en un véritable IDE en utilisant Irony
-*** On branche Irony à Company
-#+BEGIN_SRC emacs-lisp
-  (use-package company-irony
-    :ensure t
-    :config
-    (add-to-list 'company-backends 'company-irony))
-#+END_SRC
-
-*** On active Irony pour le C++
-#+BEGIN_SRC emacs-lisp
-  (use-package irony
-    :ensure t
-    :config
-    (add-hook 'c++-mode-hook 'irony-mode)
-    (add-hook 'c-mode-hook 'irony-mode)
-    (add-hook 'irony-mode-hook 'irony-cdb-autosetup-compile-options))
-#+END_SRC
-
-*** Eldoc / Irony
-Affiche la documentation des objets/functions dans le minibuffer
-#+BEGIN_SRC emacs-lisp
-  (use-package irony-eldoc
-    :ensure t
-    :config
-    (add-hook 'irony-mode-hook #'irony-eldoc))
-#+END_SRC
-
-*** Formatage automatique : clang-format
-Création d'un raccourci spécial pour formater une zone du code.
-| Raccourci | Description                                      |
-|-----------+--------------------------------------------------|
-| ~C-c C-f~ | Indente la région comme définie par clang-format |
-#+BEGIN_SRC emacs-lisp
-  (use-package clang-format
-    :ensure t
-    :bind
-    (("C-c C-f" . clang-format-region)))
-#+END_SRC
-
-Remplace l'indentation classique d'Emacs par clang-format en C/C++
-| Raccourci | Description                                      |
-|-----------+--------------------------------------------------|
-| ~<TAB>~   | Indente la région comme définie par clang-format |
-#+BEGIN_SRC emacs-lisp
-  (defun clang-format-c-mode-common-hook ()
-    (fset 'c-indent-region 'clang-format-region)
-    (define-key c-mode-base-map (kbd "<tab>") 'clang-format-region))
-  (add-hook 'c-mode-common-hook 'clang-format-c-mode-common-hook)
-#+END_SRC
-
-Force le formatage du fichier quand il est sauvgardé
-#+BEGIN_SRC emacs-lisp
-  (defun clang-format-buffer-on-save ()
-    "Add auto-save hook for clang-format-buffer-smart."
-    (add-hook 'before-save-hook 'clang-format-buffer nil t))
-  (add-hook 'c-mode-common-hook 'clang-format-buffer-on-save)
-#+END_SRC
-
-*** Coloration syntaxique (C++ moderne)
-#+BEGIN_SRC emacs-lisp
-  (use-package modern-cpp-font-lock
-    :ensure t
-    :init
-    (eval-when-compile
-      ;; Silence missing function warnings
-      (declare-function modern-c++-font-lock-global-mode
-                        "modern-cpp-font-lock.el"))
-    :config (modern-c++-font-lock-global-mode t))
-#+END_SRC
-
-** Themes
-Préchargement de quelques themes
-#+BEGIN_SRC emacs-lisp
-  (use-package cloud-theme :ensure t)
-  (use-package zenburn-theme :ensure t)
-  (use-package sourcerer-theme :ensure t)
-  (use-package monokai-theme :ensure t)
-  (use-package gruvbox-theme :ensure t)
-  (use-package bubbleberry-theme :ensure t)
-  (use-package solarized-theme :ensure t)
-#+END_SRC
-
-Chargement d'un theme
-#+BEGIN_SRC emacs-lisp
-  (load-theme 'sourcerer t)
-#+END_SRC
-
-** Modeline
-Augmente la taille de la police
-#+BEGIN_SRC emacs-lisp
-  (defvar my-font-size 140)
-#+END_SRC
-
-Taille de la Modeline
-#+BEGIN_SRC emacs-lisp
-  (set-face-attribute 'mode-line nil  :height my-font-size)
-#+END_SRC
-
-Taille du titre
-#+BEGIN_SRC emacs-lisp
-  (set-face-attribute 'header-line nil  :height my-font-size)
-#+END_SRC
-
-Taille des attributs
-#+BEGIN_SRC emacs-lisp
-  (set-face-attribute 'default nil :height my-font-size)
-#+END_SRC
-
-Taille de la fenêtre et position
-#+BEGIN_SRC emacs-lisp
-  (setq default-frame-alist
-        '((top . 0) (left . 0) ;; position
-          (width . 110) (height . 90) ;; size
-          ))
-#+END_SRC
-
-** Parenthèses arc-en-ciel
-Améliore le visuel des parenthèses
-#+BEGIN_SRC emacs-lisp
-  (use-package rainbow-delimiters
-    :ensure t
-    :init
-    (eval-when-compile
-      ;; Silence missing function warnings
-      (declare-function rainbow-delimiters-mode "rainbow-delimiters.el"))
-    (add-hook 'prog-mode-hook #'rainbow-delimiters-mode))
-#+END_SRC
-
-** Flycheck
-On branche flycheck à Irony
-#+BEGIN_SRC emacs-lisp
-  (use-package flycheck-irony
-    :ensure t
-    :config
-    (eval-after-load 'flycheck
-      '(add-hook 'flycheck-mode-hook #'flycheck-irony-setup)))
-#+END_SRC
-
-On charge flycheck
-#+BEGIN_SRC emacs-lisp
-  (use-package flycheck
-    :ensure t
-    :init
-    (global-flycheck-mode t))
-#+END_SRC
-
-Active flycheck globalement
-#+BEGIN_SRC
-  (add-hook 'after-init-hook #'global-flycheck-mode)
-#+END_SRC
-** Python
-Attention pour que la configuration fonctionne, il faut installer
-~virtualenv~. Pour les systèmes Debian
-#+BEGIN_SRC shell
-apt install virtualenv
-#+END_SRC
-#+BEGIN_SRC emacs-lisp
-  (setq py-python-command "python3")
-  (setq python-shell-interpreter "python3")
-
-  (use-package elpy
-    :ensure t
-    :custom (elpy-rpc-backend "jedi")
-    :config
-    (elpy-enable))
-
-  (use-package virtualenvwrapper
-    :ensure t
-    :config
-    (venv-initialize-interactive-shells)
-    (venv-initialize-eshell))
-#+END_SRC
-
-** YaSnippet
-Le système de templates pour Emacs
-#+BEGIN_SRC emacs-lisp
-  (use-package yasnippet
-    :ensure t
-    :init (yas-global-mode 1))
-
-  (use-package yasnippet-snippets
-    :ensure t)
-#+END_SRC
-
-** Divers paquets
-*** Highlight line
-Mise en valeur de la ligne courante
-#+BEGIN_SRC emacs-lisp
-  (global-hl-line-mode t)
-#+END_SRC
-
-*** Beacon
-Flash de la ligne aux changements de page ou de buffer
-#+BEGIN_SRC emacs-lisp
-  (use-package beacon
-    :ensure t
-    :config
-    (beacon-mode 1))
-#+END_SRC
-
-*** hungry-delete
-Suppression de tous les blancs quand appuie sur backspace ou delete
-#+BEGIN_SRC emacs-lisp
-  (use-package hungry-delete
-    :ensure t
-    :config
-    (global-hungry-delete-mode))
-#+END_SRC
-
-*** Multiple-cursors
-Permet l'utilisation de plusieurs curseurs simultanément
-#+BEGIN_SRC emacs-lisp
-  (use-package multiple-cursors
-    :ensure t)
-#+END_SRC
-
-*** Expand-region
-Sélectionne une zone de manière incrémentale. mot, phrase, paragraphe,
-etc de manière intelligente.
-#+BEGIN_SRC emacs-lisp
-  (use-package expand-region
-    :ensure t
-    :config
-    (global-set-key (kbd "C-=") 'er/expand-region))
-#+END_SRC
-
-*** Meilleure gestion du ~kill-ring~
-#+BEGIN_SRC emacs-lisp
-  (setq save-interprogram-paste-before-kill t)
-#+END_SRC
-
-*** Gestion de la restauration des buffers
-#+BEGIN_SRC emacs-lisp
-  (global-auto-revert-mode 1)
-  (setq auto-revert-verbose nil)
-  (global-set-key (kbd "<f5>") 'revert-buffer)
-#+END_SRC
-
-** iedit
-Modifie les copies d'une zone séléctionnée simultanément
-
-| Raccourci   | Description                |
-|-------------+----------------------------|
-| ~C-h C-;~   | démarrer les modifications |
-| ~M-ESC ESC~ | sortir du mode             |
-#+BEGIN_SRC emacs-lisp
-  (use-package iedit
-    :ensure t)
-#+END_SRC
-
-** Narrow/widen dwim
-Réduit/agrandit une zone d'édition de manière intelligente
-#+BEGIN_SRC emacs-lisp
-  (defun narrow-or-widen-dwim (p)
-    "If the buffer is narrowed, it widens. Otherwise, it narrows intelligently.
-  Intelligently means: region, org-src-block, org-subtree, or defun,
-  whichever applies first.
-  Narrowing to org-src-block actually calls `org-edit-src-code'.
-
-  With prefix P, don't widen, just narrow even if buffer is already
-  narrowed."
-    (interactive "P")
-    (declare (interactive-only))
-    (cond ((and (buffer-narrowed-p) (not p)) (widen))
-          ((region-active-p)
-           (narrow-to-region (region-beginning) (region-end)))
-          ((derived-mode-p 'org-mode)
-           ;; `org-edit-src-code' is not a real narrowing command.
-           ;; Remove this first conditional if you don't want it.
-           (cond ((ignore-errors (org-edit-src-code))
-                  (delete-other-windows))
-                 ((org-at-block-p)
-                  (org-narrow-to-block))
-                 (t (org-narrow-to-subtree))))
-          (t (narrow-to-defun))))
-#+END_SRC
-
-Remplace la fonction Emacs standard par =dwim=
-#+BEGIN_SRC emacs-lisp
-  (define-key ctl-x-map "n" #'narrow-or-widen-dwim)
-#+END_SRC
-
-** Web Mode
-Mode avancé pour l'édition de pages =html=, =CSS=,...
-#+BEGIN_SRC emacs-lisp
-  (use-package web-mode
-    :ensure t
-    :config
-    (add-to-list 'auto-mode-alist '("\\.html?\\'" . web-mode))
-    (add-to-list 'auto-mode-alist '("\\.vue?\\'" . web-mode))
-    (setq web-mode-engines-alist
-          '(("django"    . "\\.html\\'")))
-    (setq web-mode-ac-sources-alist
-          '(("css" . (ac-source-css-property))
-            ("vue" . (ac-source-words-in-buffer ac-source-abbrev))
-            ("html" . (ac-source-words-in-buffer ac-source-abbrev))))
-    (setq web-mode-enable-auto-closing t))
-  (setq web-mode-enable-auto-quoting t) ; this fixes the quote problem I mentioned
-#+END_SRC
-
-** Emmet mode
-Ensemble de fonctions permettant l'édition rapide de markup languages (html,sgml,...)
-#+BEGIN_SRC emacs-lisp
-  (use-package emmet-mode
-    :ensure t
-    :config
-    ;; Auto-start on any markup modes
-    (add-hook 'sgml-mode-hook 'emmet-mode)
-    ;; Auto-start on any markup modes
-    (add-hook 'web-mode-hook  'emmet-mode)
-    ;; enable Emmet's css abbreviation
-    (add-hook 'css-mode-hook  'emmet-mode))
-#+END_SRC
-
-** Dired
-Permet d'utiliser reduire/agrandir les affichages de répertoires
-#+BEGIN_SRC emacs-lisp
-  (setq dired-dwim-target t)
-
-  (use-package dired-narrow
-    :ensure t
-    :config
-    (bind-key "C-c C-n" #'dired-narrow)
-    (bind-key "C-c C-f" #'dired-narrow-fuzzy)
-    (bind-key "C-x C-N" #'dired-narrow-regexp))
 
-  (use-package dired-subtree :ensure t
-    :after dired
-    :config
-    (bind-key "<tab>" #'dired-subtree-toggle dired-mode-map)
-    (bind-key "<backtab>" #'dired-subtree-cycle dired-mode-map))
-#+END_SRC
-
-** LaTeX
-Configuration LaTeX basique.
-#+BEGIN_SRC emacs-lisp
-  (use-package tex
-    :ensure auctex)
-
-  (defun tex-view ()
-    (interactive)
-    (tex-send-command "evince" (tex-append tex-print-file ".pdf")))
-#+END_SRC
-
-** Gestion de projets
-#+BEGIN_SRC emacs-lisp
-  (use-package projectile
-    :ensure t
-    :bind ("C-c p" . projectile-command-map)
-    :config
-    (projectile-mode)
-    (setq projectile-completion-system 'ivy))
-#+END_SRC
-
-** Org mode (langages suportés)
-Charge les langages disponnibles pour org-mode
-#+BEGIN_SRC emacs-lisp
-  (org-babel-do-load-languages
-   'org-babel-load-languages
-   '((python . t)
-     (emacs-lisp . t)
-     (shell . t)
-     (C . t)
-     (js . t)
-     (ditaa . t)
-     (dot . t)
-     (org . t)
-     (latex . t )))
-#+END_SRC
-
-** Parenthèses
-#+BEGIN_SRC emacs-lisp
-  (use-package smartparens
-    :ensure t
-    :hook (prog-mode . smartparens-mode)
-    :custom
-    (sp-escape-quotes-after-insert nil)
-    :config
-    (require 'smartparens-config))
-
-  (show-paren-mode t)
-  (setq show-paren-style 'mixed)
-#+END_SRC
-
-** Taille de la police
-Change la taille de la police dynamiquement (temporaire)
-| Raccourci | Description                     |
-|-----------+---------------------------------|
-| ~C-M-=~   | Augmente la taille de la police |
-| ~C-M--~   | Réduit la taille de la police   |
-#+BEGIN_SRC emacs-lisp
-  (use-package default-text-scale
-    :ensure t
-    :config
-    (global-set-key (kbd "C-M-=") 'default-text-scale-increase)
-    (global-set-key (kbd "C-M--") 'default-text-scale-decrease))
-#+END_SRC
-
-** Hydra
-Outil de simplification des raccourcis. Un popup contextuel apparaît.
-| Raccourci | Description                           |
-|-----------+---------------------------------------|
-| ~C-x t~   | Active désactive certains utilitaires |
-| ~C-x j~   | Déplacement dans le /buffer/          |
-| ~C-c t~   | Gestion du timer                      |
-#+BEGIN_SRC emacs-lisp
-  (use-package hydra
-    :ensure hydra
-    :init
-    (global-set-key
-     (kbd "C-x t")
-     (defhydra toggle (:color blue)
-       "toggle"
-       ("a" abbrev-mode "abbrev")
-       ("s" flyspell-mode "flyspell")
-       ("d" toggle-debug-on-error "debug")
-       ("c" fci-mode "fCi")
-       ("f" auto-fill-mode "fill")
-       ("t" toggle-truncate-lines "truncate")
-       ("w" whitespace-mode "whitespace")
-       ("q" nil "cancel")))
-    (global-set-key
-     (kbd "C-x j")
-     (defhydra gotoline
-       ( :pre (linum-mode 1)
-              :post (linum-mode -1))
-       "goto"
-       ("t" (lambda () (interactive)(move-to-window-line-top-bottom 0)) "top")
-       ("b" (lambda () (interactive)(move-to-window-line-top-bottom -1)) "bottom")
-       ("m" (lambda () (interactive)(move-to-window-line-top-bottom)) "middle")
-       ("e" (lambda () (interactive)(goto-char (point-max))) "end")
-       ("c" recenter-top-bottom "recenter")
-       ("n" next-line "down")
-       ("p" (lambda () (interactive) (forward-line -1))  "up")
-       ("g" goto-line "goto-line")
-       ))
-    (global-set-key
-     (kbd "C-c t")
-     (defhydra hydra-global-org (:color blue)
-       "Org"
-       ("t" org-timer-start "Start Timer")
-       ("s" org-timer-stop "Stop Timer")
-       ("r" org-timer-set-timer "Set Timer") ; This one requires you be in an orgmode doc, as it sets the timer for the header
-       ("p" org-timer "Print Timer") ; output timer value to buffer
-       ("w" (org-clock-in '(4)) "Clock-In") ; used with (org-clock-persistence-insinuate) (setq org-clock-persist t)
-       ("o" org-clock-out "Clock-Out") ; you might also want (setq org-log-note-clock-out t)
-       ("j" org-clock-goto "Clock Goto") ; global visit the clocked task
-       ("c" org-capture "Capture") ; Don't forget to define the captures you want http://orgmode.org/manual/Capture.html
-       ("l" (or )rg-capture-goto-last-stored "Last Capture"))
-
-     ))
-
-  (defhydra hydra-multiple-cursors (:hint nil)
-    "
-   Up^^             Down^^           Miscellaneous           % 2(mc/num-cursors) cursor%s(if (> (mc/num-cursors) 1) \"s\" \"\")
-  ------------------------------------------------------------------
-   [_p_]   Next     [_n_]   Next     [_l_] Edit lines  [_0_] Insert numbers
-   [_P_]   Skip     [_N_]   Skip     [_a_] Mark all    [_A_] Insert letters
-   [_M-p_] Unmark   [_M-n_] Unmark   [_s_] Search
-   [Click] Cursor at point       [_q_] Quit"
-    ("l" mc/edit-lines :exit t)
-    ("a" mc/mark-all-like-this :exit t)
-    ("n" mc/mark-next-like-this)
-    ("N" mc/skip-to-next-like-this)
-    ("M-n" mc/unmark-next-like-this)
-    ("p" mc/mark-previous-like-this)
-    ("P" mc/skip-to-previous-like-this)
-    ("M-p" mc/unmark-previous-like-this)
-    ("s" mc/mark-all-in-region-regexp :exit t)
-    ("0" mc/insert-numbers :exit t)
-    ("A" mc/insert-letters :exit t)
-    ("<mouse-1>" mc/add-cursor-on-click)
-    ;; Help with click recognition in this hydra
-    ("<down-mouse-1>" ignore)
-    ("<drag-mouse-1>" ignore)
-    ("q" nil)
-
-    ("<mouse-1>" mc/add-cursor-on-click)
-    ("<down-mouse-1>" ignore)
-    ("<drag-mouse-1>" ignore))
-#+END_SRC
-
-** Modes git
-Le sublime *magit*
-| Raccourci | Description                          |
-|-----------+--------------------------------------|
-| ~C-x g~   | Démarre *magit* (~M-x magit-status~) |
-#+BEGIN_SRC emacs-lisp
-  (use-package magit
-    :ensure t
-    :init
-    (progn (bind-key "C-x g" 'magit-status)))
-#+END_SRC
-
-Affiche l'état git dans la marge
-#+BEGIN_SRC emacs-lisp
-  (setq magit-status-margin
-        '(nil "%Y-%m-%d %H:%M " magit-log-margin-width t 18))
-#+END_SRC
-
-Utilise git-gutter avec hydra. Permet de voir rapidement les
-modifications, de les valider (~git add -p~) ou de les annuler (~git checkout -p~)
-| Raccourci | Description                          |
-|-----------+--------------------------------------|
-| ~C-x g~   | Démarre *magit* (~M-x magit-status~) |
-#+BEGIN_SRC emacs-lisp
-  (use-package git-gutter
-    :ensure t
-    :init
-    (global-git-gutter-mode +1))
-
-  (global-set-key (kbd "M-g M-g") 'hydra-git-gutter/body)
-
-  (use-package git-timemachine
-    :ensure t)
-  (defhydra hydra-git-gutter (:body-pre (git-gutter-mode 1)
-                                        :hint nil)
-    "
-  Git gutter:
-    _j_: next hunk        _s_tage hunk     _q_uit
-    _k_: previous hunk    _r_evert hunk    _Q_uit and deactivate git-gutter
-    ^ ^                   _p_opup hunk
-    _h_: first hunk
-    _l_: last hunk        set start _R_evision
-  "
-    ("j" git-gutter:next-hunk)
-    ("k" git-gutter:previous-hunk)
-    ("h" (progn (goto-char (point-min))
-                (git-gutter:next-hunk 1)))
-    ("l" (progn (goto-char (point-min))
-                (git-gutter:previous-hunk 1)))
-    ("s" git-gutter:stage-hunk)
-    ("r" git-gutter:revert-hunk)
-    ("p" git-gutter:popup-hunk)
-    ("R" git-gutter:set-start-revision)
-    ("q" nil :color blue)
-    ("Q" (progn (git-gutter-mode -1)
-                ;; git-gutter-fringe doesn't seem to
-                ;; clear the markup right away
-                (sit-for 0.1)
-                (git-gutter-mode))
-     :color blue))
-#+END_SRC
-
-** Flyspell
-Correcteur orthographique à la volée
-#+BEGIN_SRC emacs-lisp
-  (add-hook 'org-mode-hook 'turn-on-flyspell)
-  (add-hook 'org-mode-hook 'turn-on-auto-fill)
-  (add-hook 'mu4e-compose-mode-hook 'turn-on-flyspell)
-  (add-hook 'mu4e-compose-mode-hook 'turn-on-auto-fill)
-#+END_SRC
-
-** C++
-Activation des *ggtags*
-#+BEGIN_SRC emacs-lisp
-  (use-package ggtags
-    :ensure t
-    :config
-    (add-hook 'c-mode-common-hook
-              (lambda ()
-                (when (derived-mode-p 'c-mode 'c++-mode 'java-mode)
-                  (ggtags-mode 1)))))
-#+END_SRC
-
-** CMake
-#+BEGIN_SRC emacs-lisp
-  (use-package cmake-mode
-    :ensure t
-    :mode ("CMakeLists.txt" ".cmake")
-    :hook (cmake-mode . (lambda ()
-                          (add-to-list 'company-backends 'company-cmake)))
-    :config
-    (use-package cmake-font-lock
-      :ensure t
-      :defer t
-      :commands (cmake-font-lock-activate)
-      :hook (cmake-mode . (lambda ()
-                            (cmake-font-lock-activate)
-                            (font-lock-add-keywords
-                             nil '(("\\<\\(FIXME\\|TODO\\|BUG\\|DONE\\)"
-                                    1 font-lock-warning-face t)))))))
-#+END_SRC
-
-** Markdown
-#+BEGIN_SRC emacs-lisp
-  (use-package markdown-mode
-    :ensure t
-    :mode (".md" ".markdown"))
-#+END_SRC
-
-** Dumb jump
-Permet de se déplacer *très* rapidement dans un texte ou de retrouver
-une définition.
-| Raccourci | Description                                                             |
-|-----------+-------------------------------------------------------------------------|
-| ~M-g o~   | Saute à la définition de l'objet sous le curseur dans une autre fenêtre |
-| ~M-g j~   | Saute à la définition de l'objet sous le curseur                        |
-#+BEGIN_SRC emacs-lisp
-  (use-package dumb-jump
-    :bind (("M-g o" . dumb-jump-go-other-window)
-           ("M-g j" . dumb-jump-go)
-           ("M-g x" . dumb-jump-go-prefer-external)
-           ("M-g z" . dumb-jump-go-prefer-external-other-window))
-    :init
-    (dumb-jump-mode)
-    :ensure t)
-#+END_SRC
-
-** Origami
-Mode permettant le pliage (/folding/) de regions
-#+BEGIN_SRC emacs-lisp
-  (use-package origami
-    :ensure t)
-#+END_SRC
-
-** IBuffer
-Un meilleur gestionnaire de /buffers/.
-
-| Raccourci | Description                        |
-|-----------+------------------------------------|
-| ~C-x C-b~ | Ouvre le gestionnaire de /buffers/ |
-| ~C-x b~   | Change de /buffer/                 |
-#+BEGIN_SRC emacs-lisp
-  (global-set-key (kbd "C-x C-b") 'ibuffer)
-  (setq ibuffer-saved-filter-groups
-        (quote (("default"
-                 ("dired" (mode . dired-mode))
-                 ("org" (name . "^.*org$"))
-                 ("magit" (mode . magit-mode))
-                 ("IRC" (or (mode . circe-channel-mode)
-                            (mode . circe-server-mode)))
-                 ("web" (or (mode . web-mode) (mode . js2-mode)))
-                 ("shell" (or (mode . eshell-mode) (mode . shell-mode)))
-                 ("mu4e" (or (mode . mu4e-compose-mode)
-                             (name . "\\*mu4e\\*")))
-                 ("programming" (or (mode . clojure-mode)
-                                    (mode . clojurescript-mode)
-                                    (mode . python-mode)
-                                    (mode . c++-mode)))
-                 ("emacs" (or (name . "^\\*scratch\\*$")
-                              (name . "^\\*Messages\\*$")))
-                 ))))
-  (add-hook 'ibuffer-mode-hook
-            (lambda ()
-              (ibuffer-auto-mode 1)
-              (ibuffer-switch-to-saved-filter-groups "default")))
-
-  ;; Don't show filter groups if there are no buffers in that group
-  (setq ibuffer-show-empty-filter-groups nil)
-
-  ;; Don't ask for confirmation to delete marked buffers
-  (setq ibuffer-expert t)
-#+END_SRC
-
-** Wgrep
-Permet de modifier le résultat d'un *grep* (donc simultanément dans
-plusieurs fichiers par exemple).
-
-| Raccourci | Description                                              |
-|-----------+----------------------------------------------------------|
-| ~C-c C-p~ | passe en mode écriture dans le buffer résultat de *grep* |
-| ~C-c C-e~ | sauve les modifications                                  |
-| ~C-x C-q~ | quitte le mode                                           |
-voir [[https://github.com/emacsmirror/emacswiki.org/blob/master/wgrep.el][wgrep]] pour plus d'infos.
-#+BEGIN_SRC emacs-lisp
-  (use-package wgrep
-    :ensure t)
-  (use-package wgrep-ag
-    :ensure t)
-  (require 'wgrep-ag)
-#+END_SRC
-
-** PDF tools
-Outils d'édition de PDF dans Emacs
-#+BEGIN_SRC emacs-lisp
-  (use-package pdf-tools
-    :ensure t)
-  (use-package org-pdfview
-    :ensure t)
-#+END_SRC
-
-** AutoYASnippet
-Outil de création rapide de snipets.
-Voir la documentation en ligne [[https://github.com/abo-abo/auto-yasnippet]]
-#+BEGIN_SRC emacs-lisp
-  (use-package auto-yasnippet
-    :ensure t)
-#+END_SRC
-
-** Divers
-Quelques réglages utilitaires
-#+BEGIN_SRC emacs-lisp
-  (setq browse-url-browser-function 'browse-url-generic
-        browse-url-generic-program "firefox")
-  (setq auto-window-vscroll nil)
-  (blink-cursor-mode t)
-  (setq default-frame-alist
-        '((cursor-color . "DarkGrey")))
-#+END_SRC
-
-** Keyfreq
-Enregistre la fréquence d'utilisation de commandes.
-Pour obtenir les statistiques, utiliser la commande
-~M-x keyfreq-show~
-#+BEGIN_SRC emacs-lisp
-  (use-package keyfreq
-    :ensure t
-    :config
-    (require 'keyfreq)
-    (keyfreq-mode 1)
-    (keyfreq-autosave-mode 1))
-#+END_SRC
-
-** Dictionnaire et césures
-#+BEGIN_SRC emacs-lisp
-  (use-package dictionary
-    :ensure t)
-  (use-package synosaurus
-    :ensure t)
-#+END_SRC
+La configuration utilisée est définie dans le fichier [[file:Configuration.org]]
+et incluse ici.
 
+#+INCLUDE: "~/.emacs.d/Configuration.org"
 
 * À propos de cette configuration
 Cette configuration d'Emacs est grandement (et librement) inspirée de
diff --git a/init.el b/init.el
index 244ee73291d70ca2e9e99ee2dcd2fd652793bbb2..07dda5ad4453d0cce20f335017939d211eb901b4 100644
--- a/init.el
+++ b/init.el
@@ -39,7 +39,7 @@
   :hook
   (emacs-lisp-mode-hook  . 'enable-auto-async-byte-compile-mode))
 
-(org-babel-load-file (expand-file-name "~/.emacs.d/Readme.org"))
+(org-babel-load-file (expand-file-name "~/.emacs.d/Configuration.org"))
 (custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.