diff --git a/.emacs b/.emacs
index 2e3cb9ac1938acd70b555837576d4715bfc9c942..b31664b21e01fb6e5c79845814eb9b6eba63c963 100644
--- a/.emacs
+++ b/.emacs
@@ -12,18 +12,17 @@
 
 ;; Chargement principal
 (require 'package)
+(custom-set-variables '(gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3"))
 
 ;; Ajout de Melpa
 (add-to-list 'package-archives
-	     '("melpa" . "https://melpa.org/packages/"))
-
-;; Add the user-contributed repository
-(add-to-list 'package-archives
-             '("marmalade" . "http://marmalade-repo.org/packages/"))
-
-;; MAJ plus réactives de org à la source (+ dangereux ?)
-(add-to-list 'package-archives
-	     '("org" . "http://orgmode.org/elpa/") t)
+	     '(
+	       ("gnu" . "https://elpa.gnu.org/packages/")
+	       ("melpa" . "https://melpa.org/packages/")
+	       ("nongnu" . "https://elpa.nongnu.org/nongnu/")
+	       (";TODO: romey" . "http://tromey.com/elpa/")
+	       )
+	     )
 
 ;; Dépôt alternatif (utile ?)
 ;; (add-to-list 'package-archives
@@ -57,9 +56,13 @@
        '(
 	 "/home/phil/.lisp/"
 	 "/home/phil/.lisp/emacs-solargraph/"
+	 "/home/phil/.lisp/Emacs-langtool/"
+	 "/home/phil/.lisp/emacs-everywhere//"
 	 )
        load-path))
 
+;; (require 'emacs-everywhere)
+
 ;; On personnalise la barre de titre
 (setq frame-title-format (list "Emacs (" (getenv "USER") ") : %b"))
 
@@ -157,9 +160,9 @@
 (setq compilation-window-height 20)
 
 ;; Pour mon clavier KB-522 qui ne réagit pas à certaines
-;; combinaisons de touches
-(global-set-key (kbd "M-]")  'delete-horizontal-space)
-(global-set-key (kbd "C-M-]")  'indent-region)
+;; combinaisons de touches - Edit : nouvelle config pour mx keys
+(global-set-key (kbd "M-ç")  'delete-horizontal-space)
+(global-set-key (kbd "C-M-ç")  'indent-region)
 
 ;; ==========================
 ;; Configurations de packages
@@ -532,19 +535,63 @@
   :ensure t
   :commands lsp-treemacs-errors-list)
 
-(use-package rg
-  :ensure t
-  :bind(("C-c s" . rg-menu)))
+;; (use-package rg
+;;   :ensure t
+;;   :bind(("C-c s" . rg-menu)))
+
+;; Pour languagetool
+;; (sudo snap install languagetool)
+(setq langtool-language-tool-jar "/snap/languagetool/34/usr/bin/languagetool-commandline.jar")
+(require 'langtool)
+(global-set-key (kbd "C-&")  'langtool-check-buffer)
 
 ;; Pour grammalecte
-(use-package flycheck-grammalecte
-  :ensure t
-  :config
-  (setq flycheck-grammalecte-enabled-modes
-	'(mail-mode))
-  (setq flycheck-grammalecte-report-apos nil)
-  (setq flycheck-grammalecte-report-esp nil)
-  (setq flycheck-grammalecte-report-nbsp nil))
+
+;; (use-package flycheck-grammalecte
+;;   :hook (fountain-mode . flycheck-mode)
+;;   :init
+;;   (setq flycheck-grammalecte-report-apos nil
+;; 	flycheck-grammalecte-report-esp nil
+;; 	flycheck-grammalecte-report-nbsp nil)
+;;   :config
+;;   (add-to-list 'flycheck-grammalecte-enabled-modes 'fountain-mode)
+;;   (grammalecte-download-grammalecte)
+;;   (flycheck-grammalecte-setup))
+
+;; (use-package flycheck-grammalecte
+;;   :ensure t
+;;   :hook (text-mode . flycheck-mode)
+;;   :init
+;;   (setq flycheck-grammalecte-report-apos nil
+;; 	flycheck-grammalecte-report-esp nil
+;; 	flycheck-grammalecte-report-nbsp nil)
+;;   :config
+;;   (grammalecte-download-grammalecte)
+;;   (flycheck-grammalecte-setup))
+
+
+;; (setq flycheck-grammalecte-report-apos nil)
+;; (setq flycheck-grammalecte-report-esp nil)
+;; (setq flycheck-grammalecte-report-nbsp nil)
+;; (load-file "~/.emacs.d/flycheck-grammalecte/grammalecte.el")
+
+;; (load-file "~/.emacs.d/flycheck-grammalecte/flycheck-grammalecte.el")
+
+;; ;; (require 'flycheck-grammalecte)
+;; (flycheck-grammalecte-setup)
+  
+  ;; (setq flycheck-grammalecte-enabled-modes
+  ;; 	'(mail-mode))
+
+;; (load-file "~/.emacs.d/flycheck-grammalecte/flycheck-grammalecte.el")
+;; (flycheck-grammalecte-setup)
+;; (setq flycheck-grammalecte-report-apos nil)
+;; (setq flycheck-grammalecte-report-esp nil)
+;; (setq flycheck-grammalecte-report-nbsp nil)
+;; (add-to-list 'flycheck-grammalecte-enabled-modes 'mail-mode))
+;;   (flycheck-grammalecte-setup))
+;; (load-file "~/.emacs.d/flycheck-grammalecte/flycheck-grammalecte.elc")
+;; (flycheck-grammalecte-setup)
 
 ;; Pour JS
 (use-package js2-mode
@@ -618,7 +665,7 @@
 (use-package ox-reveal
   :ensure t
   :config
-  (setq org-reveal-root "file:///home/dosch/divers/presentation/reveal.js"))
+  (setq org-reveal-root "file:///home/phil/divers/presentation/reveal.js"))
 
 ;; Pour function-arg (complétion et vérifciation en C/C++)
 (use-package function-args
@@ -632,6 +679,13 @@
   :config
   (edit-server-start))
 
+;; emmet, les complétions pour le Web (HTML/CSS)
+;; (C-j pour l'expand)
+(use-package emmet-mode
+  :ensure t
+  :config
+  (add-hook 'web-mode-hook 'emmet-mode))
+
 ;; Openwith : utilsation de programmes externe lors de
 ;; l'ouverture pour certains types de fichiers
 (use-package openwith
@@ -680,9 +734,10 @@
  '(imenu-use-popup-menu t)
  '(package-selected-packages
    (quote
-    (js2-refactor org-bullets lsp-treemacs helm-lsp company-lsp lsp-ui lsp-mode gnu-elpa-keyring-update markdown-mode flycheck-clang-analyzer flycheck-grammalecte which-key web-mode undo-tree try smex smartscan smart-mode-line-powerline-theme ruby-refactor ruby-electric robe rainbow-delimiters quelpa-use-package projectile plantuml-mode php-extras pdf-tools ox-reveal nlinum neotree multiple-cursors monokai-theme magit js2-mode irony-eldoc imenu-anywhere iedit ido-vertical-mode highlight-indent-guides helm-swoop helm-orgcard helm-flycheck helm-directory helm-css-scss helm-c-yasnippet helm-anything git-timemachine function-args flx-ido feature-mode expand-region edit-server ecb dumb-jump dired+ dic-lookup-w3m counsel company-web company-tern company-php company-jedi company-irony company-inf-ruby company-c-headers company-auctex clang-format avy auto-yasnippet anzu ac-helm diff-hl request)))
+    (org rust-mode js2-refactor org-bullets lsp-treemacs helm-lsp company-lsp lsp-ui lsp-mode gnu-elpa-keyring-update markdown-mode flycheck-clang-analyzer flycheck-grammalecte which-key web-mode undo-tree try smex smartscan smart-mode-line-powerline-theme ruby-refactor ruby-electric robe rainbow-delimiters quelpa-use-package projectile plantuml-mode php-extras pdf-tools ox-reveal nlinum neotree multiple-cursors monokai-theme magit js2-mode irony-eldoc imenu-anywhere iedit ido-vertical-mode highlight-indent-guides helm-swoop helm-orgcard helm-flycheck helm-directory helm-css-scss helm-c-yasnippet helm-anything git-timemachine function-args flx-ido feature-mode expand-region edit-server ecb dumb-jump dired+ dic-lookup-w3m counsel company-web company-tern company-php company-jedi company-irony company-inf-ruby company-c-headers company-auctex clang-format avy auto-yasnippet anzu ac-helm diff-hl request)))
  '(show-paren-mode t)
- '(tool-bar-mode nil))
+ '(tool-bar-mode nil)
+ '(tramp-default-method "scpc"))
 
 ;; Configuration du style d'affichage
 (custom-set-faces
@@ -762,11 +817,14 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 
-; Pour peupler la liste des fichiers .org
+;; Pour peupler la liste des fichiers .org
 (load-library "find-lisp")
 (setq org-agenda-files
       (find-lisp-find-files "~/org/" "\.org$"))
 
+;; Ouverture par défaut des fichiers org
+(setq org-startup-folded "overview")
+
 ;; Des puces plus sympas
 (use-package org-bullets
   :ensure t
@@ -816,7 +874,14 @@
               ("NEXT" ("WAITING") ("CANCELLED") ("HOLD"))
               ("DONE" ("WAITING") ("CANCELLED") ("HOLD")))))
 
-; Pour les notes rapides
+;; Pour insérer des templates plus facilement sous orgcard
+(require 'org-tempo)
+(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
+(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
+(add-to-list 'org-structure-template-alist '("py" . "src python"))
+(add-to-list 'org-structure-template-alist '("rb" . "src ruby"))
+
+;; Pour les notes rapides
 (setq org-directory "~/org")
 (setq org-default-notes-file "~/org/refile.org")
 
@@ -1082,6 +1147,18 @@
 
 (global-set-key "\C-xc" 'comtex)
 
+;; Macro pratique pour éditer les mails
+
+(fset 'cleanmail
+   (kmacro-lambda-form [?\C-x ?h delete ?\C-y escape ?<] 0 "%d"))
+(fset 'copymail
+   (kmacro-lambda-form [?\C-x ?h ?\M-w escape ?<] 0 "%d"))
+;; (global-set-key (kbd "C-?²" 'cleanmail)
+;; (global-set-key [(control ?²)] 'cleanmail)
+;; (global-set-key [(control return)] 'compile)
+(global-set-key (kbd "<f10>")     'cleanmail)
+(global-set-key (kbd "M-<f10>")   'copymail)
+
 ;; Accès direct au répertoire courant avec C-x C-j
 (require 'dired-x)
 
@@ -1109,7 +1186,7 @@
 (global-set-key [(control $)] 'yas-global-mode)
 
 ;; Pour dire où est reveal...
-(setq org-reveal-root "file:///home/dosch/divers/presentation/reveal.js")
+(setq org-reveal-root "file:///home/phil/divers/presentation/reveal.js")
 
 ;; Exclude very large buffers from dabbrev
 (defun sanityinc/dabbrev-friend-buffer (other-buffer)
@@ -1180,7 +1257,7 @@
 	  '(lambda ()
 	     (flycheck-mode 1)))
 
-(global-set-key (kbd "<f10>")     'flycheck-mode)
+;; (global-set-key (kbd "<f10>")     'flycheck-mode)
 
 ;; Pour discover, le mode qui va bien pour présenter certaines
 ;; options de commandes comme sous magit
@@ -1197,8 +1274,8 @@
 (fset 'gitnext
    [?\M-! ?g ?i ?t ?  ?n ?e ?x ?t return])
 
-(global-set-key (kbd "M-<f10>")     'gitnext)
-(global-set-key (kbd "S-<f10>")     'gitprev)
+;; (global-set-key (kbd "M-<f10>")     'gitnext)
+;; (global-set-key (kbd "S-<f10>")     'gitprev)
 
 ;; Pour initialiser PDFtools (test du 26/1/16)
 ; (pdf-tools-install)
@@ -1213,6 +1290,23 @@
 ;; (ce qui permet d'ouvrir le nouveau folder à la place de l'ancien)
 (put 'dired-find-alternate-file 'disabled nil)
 
+;; Pour les quotes de mail trop longues (via insert-kbd-macro)
+(defun mailcut ()
+  "Format lines from quoted mails."
+  (interactive)
+  (end-of-line)
+  (kill-line)
+  (delete-char 1)
+  (just-one-space)
+  (end-of-line)
+  (gin-do-auto-fill))
+;; Au niveau du mapping, c'est un peu tricky. Je n'ai pas trouvé le
+;; moyen d'ajouter la touche contrôle, l'idée initiale étant de binder
+;; ça sur la touche µ. J'ai récupéré le code dans un buffer dans lequel
+;; j'ai exécuté toggle-enable-multibyte-characters (il faut utiliser
+;; le code décimal)
+(global-set-key [181] 'mailcut)
+
 ;;; .emacs ends here
 (provide '.emacs)