Le labo de Ludo https://labodeludo.dev Pour satisfaire sa curiosité Thu, 02 Jun 2022 17:30:27 +0000 fr-FR hourly 1 https://wordpress.org/?v=7.0 https://labodeludo.dev/wp-content/uploads/2022/02/cropped-d79c2a7e21bda5242256893b10b3360019ddf44237b6d6dee4c5ea15c7bbd245.0_-_Copie-removebg-preview-32x32.png Le labo de Ludo https://labodeludo.dev 32 32 Intégration de plugins asynchrones avec Neovim https://labodeludo.dev/devops/integration-de-plugins-asynchrones-avec-neovim/ Thu, 02 Jun 2022 17:00:00 +0000 https://labodeludo.dev/?p=455

Ça fait un bon bout que j’utilise Vim au travail. Ça me permet d’être très prolifique quand je dois manipuler des configurations ou du code. Pour vrai j’espère plus jamais avoir à changer de mode d’édition de texte, comme plusieurs d’ailleurs qui ont adopté la philosophie de Vim. J’ai intégré le mode Vim dans tous mes outils qui demandent de manipuler du texte. Le plugin zsh-vi-mode de oh-my-zsh fait mon bonheur quand je dois éditer des commandes. J’utilise le mode vi dans tmux pour parcourir le buffer de ma console et pour copier du texte.

Par contre j’ai commencé à me questionner à force de côtoyer des devs qui utilisent des IDE graphiques. Je sais plus combien de fois on m’a demandé pourquoi je reste sur ma console alors que les outils graphiques permettent de visualiser le code facilement. J’ai considéré en prendre un avec un plugin qui permettrait de reproduire les raccourcis de clavier de Vim. Mais malheureusement l’essence même des IDE graphiques semble les empêcher de fonctionner dans le paradigme Vim. Les différents modes de Vim (Normal, Visual, Insert, etc.) ne sont pas disponibles autrement qu’en utilisant Vim (et gVim). C’est pour ça que j’ai continué longtemps avec Vim.

Neovim

L’autre jour je me suis décidé à essayer Neovim. J’en avais entendu parler dans le livre de Drew Neil « Modern Vim: Craft Your Development Environment with Vim 8 and Neovim ». Quand je l’avais lu je voyais pas l’intérêt d’avoir un système plus complexe avec Neovim. Certaines choses des configs semblaient différentes (malgré que plus tard j’ai réalisé que c’était pas grand chose). Honnêtement j’en avais déjà assez à digérer avec le paradigme Vim à ce moment là.

Mais maintenant je fais pas mal plus de développement que j’en faisais à mes débuts comme DevOps. Et pour faire du développement, c’est toujours plus facile de pouvoir compter sur des retours visuels pour savoir quand on fait des fautes de frappe, de syntaxe ou avoir des aides d’autocomplétions.

Bon c’est quoi le rapport vous me demandez peut-être. Ce que j’ai constaté, c’est que Neovim intègre assez facilement certaines features plus ou moins bien supportées sur Vim par l’entremise des plugins. Le rapport c’est que le Vim de Bram Moolenaar est limité par le fait qu’il roule comme un seul processus. C’est super simple mais malheureusement pour remplir certaines fonctions comme de l’auto complétion ou du linting de code c’est pas le best. Donc depuis 2014 la communauté a fait une fourche de son projet et développe Neovim en parallèle de Vim.

En gros, Nvim fonctionne avec tous les plugins de Vim, mais il permet d’utiliser d’autres plugins en plus qui demandent des traitements asynchrones en background. Certains plugins qui fonctionnent dans Vim sont plus performants dans Neovim. Comme de fournir des suggestions d’auto-complétions selon le langage de programmation utilisé ou bien d’offrir des suggestions de correction de syntaxe de code. Un plugin bien reconnu qui brille dans Nvim est Conquer of Completion.

Si vous voulez l’essayer, voici un vidéo que j’ai utilisé pour l’adopter. Il y a aussi des instructions pour avoir des super belles personnalisations de l’apparence de Neovim. Relativement facile a compléter aussi IMHO:

Ma config

Si vous voulez aussi j’ai publié ma propre config fortement inspirée de ce vidéo ici:
.shell-configs/init.vim at nvim-article · ludorl82/.shell-configs (github.com)

Une autre fonction qui est super intéressante c’est la nouvelle organisation des plugins dans Nvim (et Vim 8). Nvim permet de simplement cloner les plugins de Github directement dans un dossier qui est pris en charge par le nouveau gestionnaire de plugins natif. Pour mettre à jour mes plugins je lance un find qui fait exactement ça à partir de la console.

PLUGINS_DIR="$HOME/.config/nvim/pack/bundle/start"
find $PLUGINS_DIR -mindepth 1 -maxdepth 1 -type d -exec git --git-dir={}/.git --work-tree={} pull \;

Pour faire quelque chose plus complet, je l’ai inclus dans un script que je roule de temps en temps:
.shell-configs/upgrade_console.sh at nvim-article · ludorl82/.shell-configs (github.com)

Résultat

Au final, le résultat est très intéressant pour un logiciel qui permet de garder les gains de productivité de Vim, mais en incluant toutes les fonctions et plus d’un IDE graphique. Pour donner une idée, voici une saisie de ma console si j’édite un script bash dans mon dépôt de code.

Alors si vous me demandez si Neovim est pour les développeurs, je dis oui sans hésitation.

]]>
Gartner confirme le leadership d’AWS pour 2021 https://labodeludo.dev/cloud/gartner-confirme-le-leadership-daws-pour-2021/ Thu, 28 Jan 2021 23:45:42 +0000 https://labodeludo.dev/?p=394

Tous les ans depuis le milieu des années 2000, AWS se réinvente et ajoute de nouveaux services à son arc en repoussant chaque fois les limites du possible. Chaque année, les prix reliés à l’ensemble de leurs services baissent, validant ainsi les clients dans leur choix pour le long terme. Comme dans beaucoup de secteurs des technologies de l’information, l’infrastructure et les services de plateformes du cloud public sont dominés par un joueur qui a su innover avant les autres.

Lire mon article publié sur le [ blogue de Gologic ].

]]>
Taper à la vitesse de la pensée https://labodeludo.dev/labo/taper-a-la-vitesse-de-la-pensee/ Mon, 06 Apr 2020 12:00:46 +0000 https://labodeludo.dev/?p=353

Je vous ai déjà parlé de Vim et de tmux en vous présentant des leçons du livre de Drew Neil Practical Vim: Edit Text at the Speed of Thought . Je veux maintenant boucler la boucle sur ce précédent article en vous parlant de comment j’ai réussi à prendre l’habitude de taper avec tous les bons doigts sur chacune des touches et comment j’ai trouvé le clavier qui me correspondait le mieux.

Méthode de frappe au clavier

Un peu comme on joue d’un instrument, éditer du texte demande de la pratique. La première clé pour taper avec précision et taper vite est de se pratiquer pour développer une bonne méthode de frappe. Ça fait quelques années que j’ai commencé à m’entraîner avec des outils en ligne.

Vous pouvez en lire plus sur les cours de taptouche ici. Il s’agit d’une plateforme web bien reconnue pour apprendre à taper.

Pour utiliser les bons doigts sans regarder le clavier, un truc a été de cacher les touches alpha-numériques avec des collants. Éventuellement j’ai acheté un clavier qui vient avec des touches vierges.

Ressenti tactile et retour sonore

Un point que je trouve que l’on néglige souvent est le clavier. Encore aujourd’hui on voit, même dans les entreprises d’informatique, des personnes à qui on demande de taper à longueur de journée avec des claviers sans ressenti tactile et sans retour sonore. Il n’est donc pas étonnant que plusieurs d’entre nous regardons notre clavier en tapant.

Ce qu’il faut bien comprendre, c’est que le retour sonore et le ressenti tactile ne signifient pas qu’un clavier doit faire un bruit cacophonique et qu’il doit simplement présenter une résistance comme les premiers claviers d’IBM. En fait, ça veut dire qu’il doit être facile de savoir qu’une touche a bien été activée, sans avoir à regarder son clavier. Pour moi, ça a été la deuxième clé pour développer une mémoire sensorimotrice adéquate en tapant.

Avec un bon clavier et mes leçons en ligne, j’ai pu réellement m’améliorer dans le travail de tous les jours. Petit à petit, j’ai ainsi appris à taper correctement après avoir entretenu pendant plusieurs années de mauvaises habitudes. Je peux maintenant dire que j’utilise les bons doigts pour taper chaque lettre. En toute transparence, il me reste encore du travail pour gagner de la précision et de la vitesse, mais je peux toujours me situer sans quitter l’écran des yeux.

Le compromis entre la performance et le bruit

Le fait est que plusieurs claviers sont excellents pour apprendre à taper. Malheureusement ils sont souvent trop bruyants pour un environnement de bureau. Je crois que c’est une des raisons pour lesquelles on donne souvent aux employés de bureau des mauvais claviers du point de vue du confort et de la performance.

Comme la plupart des amateurs de clavier, je préfère les claviers mécaniques. Ce sont les meilleurs claviers pour obtenir un bon retour sonore et surtout tactile. Il existe des excellents claviers mécaniques très abordables, particulièrement avec les commutateurs cherry mx. Par contre trouver un clavier performant et qui ne dérange pas trop les voisins c’est plus rare.

Choix de clavier

Depuis que je travaille comme DevOps, une de mes premières direction a été de maîtriser l’éditeur de texte de ligne de commande Vim. Possédant déjà plusieurs années d’expérience dans le monde des TI, je savais que c’est l’outil de prédilection d’un administrateur de système Linux et je me suis donc familiarisé avec les conseils de Drew Neil dans le livre dont je vous ai déjà parlé.

Un de ses conseils qui m’a influencé dans mon choix de clavier était la réaffectation de la touche Verr. Maj. en touche Ctrl. Le changement m’a beaucoup plu. Premièrement, le fait de ne plus avoir de touche Verr. Maj. évite une perte de temps qu’on a souvent en étant forcé de défaire le verrouillage lorsqu’on accroche la touche par erreur. En plus, ça nous évite d’avoir à trop nous préoccuper de cette touche et ça permet de gagner en confiance quand on tape. Finalement le fait d’avoir le Ctrl à cet endroit permet de faire les raccourcis avec Ctrl sans avoir à quitter la position de base avec les index sur les touches f et j.

Dans ma recherche du meilleur clavier, j’avoue qu’au début je ne comprenais pas pourquoi des claviers si petits se vendaient si cher. Puis j’ai compris qu’en fait pour taper avec vitesse et précision il est préférable que le clavier soit plus petit pour éviter d’avoir à quitter la position de base.

Un autre de mes critères était que je voulais pouvoir utiliser mon clavier sur mon cellulaire advenant le cas où j’aurais à prendre des notes dans une réunion sans accès à un ordinateur portable.

Avant de trouver le clavier qui me satisferait, j’ai essayé les 8 autres modèles de claviers suivant:

  • Redragon K552-N Mechanical Gaming Keyboard 87 Keys 60%
  • Das Keyboard 4 Ultimate Soft Tactile MX Brown
  • USA Filco Ninja Majestouch-2, Tenkeyless
  • Vortexgear Race 3-75% Size TKL
  • Arteck Universal Backlit 7-Colors & Adjustable Brightness
  • Durgod Taurus K320 TKL Mechanical Gaming Keyboard
  • HELLO GANSS Mini 61 Key Mechanical PC Keyboard
  • RK ROYAL KLUDGE Sink87G Wired/Wireless TKL
  • Happy Hacking Keyboard Professional2

Happy Hacking Keyboard Professional Type-S

J’ai finalement arrêté mon choix sur le Happy Hacking Keyboard Professional Type-S. Malheureusement, les autres claviers étaient trop bruyants ou pas assez confortables. De plus seul le HHKB possède la disposition des touches que je préconise.

Happy Hacking Keyboard Professional Type-S

Comme on peut le voir ici, le HHKB possède par défaut la touche Ctrl dans la position traditionnellement occupée par Verr. Maj. Aussi on remarquera que les flèches sont relayées à des touches de deuxième couche accessible avec la clé Fn, comme plusieurs autres touches. La touche de retour arrière est plus facile d’accès en étant située dans la deuxième rangée à partir du haut, juste au dessus de la touche Entrée. Finalement les touches Meta et Alt sont inversées par rapport aux claviers de Windows, suivant plutôt la convention des ordinateurs MacOS. Quand on passe d’un ordinateur à l’autre, ce n’est pas toujours pratique de devoir réaffecter les touches au niveau logiciel. Personnellement j’ai choisi de m’investir avec un clavier que je peux traîner avec moi partout et avec lequel je suis bien à l’aise de travailler.

Il y a certainement une période d’adaptation à cette disposition quelque peu inorthodoxe, mais on s’habitue assez vite et la récompense en vaut la chandelle quand on commence à gagner en confiance et à gagner de la précision.

Note de la fin

Il ne fait pas de doute dans mon esprit que pour gagner de la vitesse et de la précision en tapant, il est primordial de suivre la théorie et de briser les mauvaises habitudes. Je vous ai parlé de trucs faciles et très accessibles pour accomplir cela avec des collants et les outils en ligne. Toutefois si vous en avez les moyens, un bon clavier peut aussi s’avérer très important.

]]>