Espanso est un super outil qui améliore votre productivité !
En tant que développeur, devOps ou tout autre activité en lien avec l'écriture de texte (copywritter, blogguer,..), nous devons répéter régulièrement les mêmes actions, réécrire des bouts de phrases ou de code.
C'est à la fois très fatiguant avec un taux d'erreur important et surtout cela n'ajoute pas de valeur ajoutée à ce que l'on fait.
J'ai découvert depuis quelque mois ce merveilleux outil Espanso, qui s'installe directement sur votre PC (Windows, mac, Linux), et qui te permet via des raccourcis texte de générer automatiquement du texte prédéfini. Le tout est en plus Opensource.
Espanso fonctionne avec la création de modèles (raccourci) qui vont être détectés (matching) pour remplacer la chaine de texte à écrire. Dans le principe c'est assez simple à paramétrer mais il faut quand même avoir un minimum de connaissance. Ne t'inquiètes pas, je vais t'expliquer dans la suite du tutoriel comment ça fonctionne 😄
A mon sens, il manque un petit éditeur graphique qui te permettrai de paramétrer plus facilement les raccourcis. Une version 2.0 est en cours de développement, j'ai le pressentiment que plein de nouveautés seront à venir 🔥.
Espanso permet aussi de:
Sérieusement cet outil est une pépite (oui je me répète mais c'est génial 😍).
Voici le lien pour le télécharger Espanso.
Après tout ce présentation, j'espère que tu as envie d'en savoir plus !
Commençons par faire un cas d'utilisation concret pour mieux comprendre !
Depuis ces derniers temps et surtout avec la sortie d'OpenMVPBox, j'ai dû régulièrement répéter des centaines de fois les mêmes commandes dans une console linux.
Et franchement moins j'écris des lignes de commandes et mieux je me porte 😄, surtout qu'au bout d'un certain temps j'ai tendance à faire des erreurs ...
Donc j'ai choisi de configurer les raccourcis suivant :
Raccourci | Commande |
---|---|
:dbuild | docker-compose build |
:dup | docker-compose up |
:dupd | docker-compose up -d |
:ddown | docker-compose down |
:dlogs | docker-compose logs |
:dlogsf | docker-compose logs -f |
:dexec | docker-compose exec |
:drestart | docker-compose restart |
Alors comment ça fonctionne ?
Quand je saisis le texte :dup dans n'importe quel éditeur ( bloc note, ssh, recherche web, word, ...) cela me remplace automatiquement par docker-compose up. Donc avec 4 caractères j'en écris finalement une quinzaine, quel gain de temps !
Quand je saisis le texte :dexec, cela est directement remplacé par docker-compose exec et ainsi de suite.
C'est un exemple très basique pour comprendre le fonctionnement et le paramétrage, qui se fait assez facilement. pour le coup !
Il est aussi possible de proposer cette liste dans Espanso hub , qui un contient un ensemble de package créés par la communauté Espanso (toi peut-être prochainement 😄), destinée à tous.
C'est assez récent, pour le moment il y a des packages assez basiques comme :
Pour installer des packages supplémentaires, il faut exécuter la commande suivante dans un cmd.exe (sous windows) ou dans un terminal :
espanso install nom_du_paquet
Le Hub des packages se trouve ici.
Pour installer un paquet non officiel, tu peux faire la commande suivante :
espanso install -e nomDuPaquet UrlDuDépot
espanso restart
Finalement, j'ai créé un dépôt pour les commandes docker-compose.
espanso install -e docker-compose https://github.com/Jazys/espanso-docker-compose
espanso restart
L'explication, bien qu'elle soit en anglais, est assez claire. Tu peux la retrouver ici si tu le souhaites https://es/panso.org/install
Je vais t'expliquer brièvement quelques paramétrages que je trouve accessibles. Si plusieurs personnes souhaitent une explication sur les fonctionnalités avancées, je ferais peut-être un article plus poussé.
Let's GO 🌟🌟
Il faut éditer le fichier default.yml pour créer ses raccourcis. Sous Windows, tu le trouvera dans C:\Users\TonNomUtilisateur\AppData\Roaming\espanso.
Voici son contenu par défaut :
# espanso configuration file
# This is the default configuration file, change it as you like it
# You can refer to the official documentation:
# https://espanso.org/docs/
# Matches are the substitution rules, when you type the "trigger" string
# it gets replaced by the "replace" string.
matches:
# Simple text replacement
- trigger: ":espanso"
replace: "Hi there!"
- trigger: ":greet"
form: |
Hey {{name}},
Happy Birthday!
# Dates
- trigger: ":date"
replace: "{{mydate}}"
vars:
- name: mydate
type: date
params:
format: "%m/%d/%Y"
# Shell commands
- trigger: ":shell"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "echo Hello from your shell"
Attention ce fichier est au format YAML, regarde Wikipédia pour en savoir plus!
C'est l'indentation qu'il faut respecter scrupuleusement sous peine d'un dysfonctionnement d'Espanso.
Si nous reprenons le fichier de base, voyons ce qu'il raconte :
Maintenant si tu souhaites ajouter par exemple le raccourci suivant :salutation pour Veuillez agréer, Madame, Monsieur, l'expression de mes sentiments distingués alors le fichier est le suivant :
# espanso configuration file
# This is the default configuration file, change it as you like it
# You can refer to the official documentation:
# https://espanso.org/docs/
# Matches are the substitution rules, when you type the "trigger" string
# it gets replaced by the "replace" string.
matches:
# Simple text replacement
- trigger: ":espanso"
replace: "Hi there!"
- trigger: ":salutation"
replace: "Veuillez agréer, Madame, Monsieur, l'expression de mes sentiments distingués"
- trigger: ":greet"
form: |
Hey {{name}},
Happy Birthday!
# Dates
- trigger: ":date"
replace: "{{mydate}}"
vars:
- name: mydate
type: date
params:
format: "%m/%d/%Y"
# Shell commands
- trigger: ":shell"
replace: "{{output}}"
vars:
- name: output
type: shell
params:
cmd: "echo Hello from your shell"
Lorsque vous sauvegardez le fichier, une petite popup vous indique le message suivant : "Reloaded Config" indiquant la bonne prise en compte de la modification.
Voilà le tour est joué, félicitation, tu as créé tes premiers raccourcis !💥
A tout moment, il est possible de désactiver le fonctionnement d'Espanso, un double appui sur "ALT" fait varier son état à ON/OFF. Cela peut s'avérer très pratique.
Il est possible aussi d'activer le matching uniquement dans certaine fenêtre. Par exemple, quand j'ai Chrome d'ouvert, je veux que certaines détections soient effectives uniquement dans ce cas là. Il faut se référer à la documentation avec le terme de filter_title.
Les autres fonctionnalités sympa que j'aime bien :
J'espère que cette présentation d'Espanso t'as plu. Je pense qu'il va te faire gagner beaucoup de temps.
Ce coup-ci ce n'était pas un article en lien avec une solution no/low-code mais cela reste un outil Opensource. Je t'invite donc à créer tes propres raccourcis et à les diffuser via le HUB.
Happy Matching 🔥