Migrer de la configuration YAML d'Espanso vers un correcteur d'expansion de texte GUI

Réponse rapide : Espanso stocke chaque snippet comme une paire trigger/replace dans des fichiers YAML de correspondances (~/.config/espanso/match/*.yml), ce qui signifie qu'ajouter ou modifier un snippet implique d'ouvrir un éditeur de texte, de respecter les règles d'indentation de YAML, et de redémarrer le service pour le tester. Migrer vers un correcteur d'expansion de texte GUI comme Lightning Assist signifie recréer chaque correspondance sous forme de snippet dans un éditeur visuel — le même texte déclencheur, le même remplacement, mais un champ de formulaire au lieu d'un fichier. Il n'existe aujourd'hui aucune importation YAML en masse, la migration se fait donc manuellement, un snippet à la fois ; la plupart des bibliothèques de moins de 50 snippets prennent bien moins de 15 minutes.
Transparence : nous développons Lightning Assist, un expandeur de texte payant — Espanso est donc un concurrent. Espanso est gratuit et open source, et chaque correctif ci-dessous concerne Espanso lui-même : aucun n'exige de changer d'outil.
Si vous n'avez jamais ouvert ~/.config/espanso/match/base.yml, rien de tout cela ne vous parlera, et c'est exactement le public visé par ce guide : des personnes qui ont réussi à faire fonctionner Espanso, ajouté une dizaine de snippets, et se demandent maintenant s'il existe une version de tout ça où elles n'ont pas du tout à réfléchir au YAML.
Pourquoi la configuration YAML d'Espanso devient une source de friction
Espanso est un outil réellement bien conçu. Il est gratuit, open source, multiplateforme, et son modèle basé sur des fichiers est un choix de conception délibéré, pas un oubli — YAML est portable, permet les diffs, et est scriptable. La friction apparaît plus tard, une fois que vous l'utilisez vraiment au quotidien :
Des fichiers de correspondances éparpillés dans votre système de fichiers. Espanso organise la configuration en un dossier match/ (quoi développer) et un dossier config/ (comment l'expansion se comporte), en partant de match/base.yml. À mesure que votre nombre de snippets augmente, soit vous continuez à ajouter à ce fichier unique, soit vous commencez à diviser en plusieurs fichiers .yml — dans les deux cas, retrouver « celui sur les tarifs » six mois plus tard signifie ouvrir des fichiers et les parcourir, car il n'y a pas de barre de recherche.
L'indentation, c'est la syntaxe. Une correspondance basique ressemble à ceci :
matches:
- trigger: ":br"
replace: "Best Regards,\nJon Snow"
La documentation d'Espanso elle-même est directe à ce sujet : "Make sure to include the indentation, otherwise it won't be valid YAML syntax." C'est très bien pour un développeur à l'aise dans un éditeur de texte, et c'est exactement le genre de chose qui casse silencieusement quand vous collez un snippet depuis Slack, ou copiez un bloc multi-lignes et que les espaces ne suivent pas. En général, vous vous en rendez compte parce que le déclencheur ne s'expand tout simplement pas — pas de boîte de dialogue, pas de soulignement rouge, juste un snippet qui ne fait silencieusement rien jusqu'à ce que vous partiez à la chasse à un espace égaré.
Pas de synchronisation, pas d'équipe. Espanso stocke tout localement par conception — ce qui est réellement bon pour la confidentialité, mais signifie que faire passer vos snippets sur une seconde machine demande une copie manuelle de fichiers, un dossier Dropbox, ou un dépôt git personnel que vous maintenez vous-même. Il n'y a pas de compte, pas de synchronisation multi-appareils intégrée, et aucun moyen de transmettre votre bibliothèque de snippets à un collègue autrement qu'en lui envoyant les fichiers .yml en lui demandant de les placer dans le bon dossier.
Redémarrer pour tester. Modifier un fichier de correspondances et confirmer que ça a fonctionné signifie généralement : enregistrer, revenir à l'application dans laquelle vous testez, taper le déclencheur et, si rien ne se passe, retourner vérifier le fichier. C'est une boucle courte, mais une boucle que vous répétez à chaque modification, indéfiniment.
Rien de tout cela ne fait d'Espanso un mauvais logiciel. Cela en fait un logiciel conçu pour des personnes à l'aise avec l'idée de traiter la configuration comme du code. Si ce n'est pas ainsi que vous voulez passer votre temps, une interface graphique (GUI) est la solution — pas un « meilleur » éditeur YAML.
À quoi ressemble réellement l'équivalent GUI
Dans un correcteur d'expansion de texte GUI, un snippet est une ligne, pas un fichier. Vous ouvrez un panneau (dans Lightning Assist, il s'appelle « My Snippets »), cliquez sur « Create Snippet », tapez le déclencheur dans un champ et l'expansion dans un autre, puis enregistrez. Il n'y a aucun fichier à localiser, aucun service à redémarrer, et aucune indentation à respecter, parce qu'il n'y a pas d'indentation — le texte enrichi, le formatage HTML et le contenu multi-lignes se tapent ou se collent directement dans le champ d'expansion, sans échappement requis. Les snippets sont organisés dans des dossiers que vous nommez vous-même, et vous pouvez faire une recherche dans toute votre bibliothèque au lieu de parcourir des fichiers.
Le compromis est celui auquel on pourrait s'attendre : vous renoncez à l'accès direct aux fichiers (pas de diff git sur l'historique de vos snippets, pas d'édition dans Vim) en échange de ne plus avoir besoin de toute la mécanique YAML dès le départ.
Espanso → Lightning Assist : correspondance des concepts
Si vous pensez déjà dans le vocabulaire d'Espanso, voici comment chaque élément se transpose :
| Concept Espanso | En YAML | Équivalent GUI |
|---|---|---|
| Match | Une entrée sous matches: dans un fichier .yml |
Un snippet — une ligne dans le panneau Snippets |
| Trigger | trigger: ":br" |
Le champ Trigger — tapez directement la même abréviation, aucun deux-points requis sauf si vous voulez le conserver |
| Replace | replace: "Best Regards,\nJon Snow" |
Le texte d'expansion du snippet — texte enrichi, HTML et contenu multi-lignes pris en charge nativement |
| Vars / extensions (date, shell, presse-papiers, formulaire) | Un bloc vars: référençant un type de variable |
Espaces réservés insérés dans l'expansion — [#Date#], [#Name#] et variables de presse-papiers |
Fichiers de correspondances (base.yml, .yml personnalisés) |
Fichiers dans ~/.config/espanso/match/ |
Dossiers dans le panneau Snippets — organisation visuelle plutôt que par nom de fichier |
Reload / espanso restart |
Redémarrage manuel du service pour prendre en compte les changements | Rien à faire — les snippets sont actifs dès l'enregistrement |
| Déclencheurs regex, correspondances par commande shell | YAML + scripting, spécifique à Espanso | Non reproduit. Si c'est central dans votre flux de travail, restez sur Espanso pour ces cas |
Cette dernière ligne compte : ceci est un guide de migration, pas une affirmation que « Lightning Assist peut tout faire comme Espanso ». Les déclencheurs à motifs regex et les correspondances adossées à des commandes shell sont de véritables points forts d'Espanso, sans équivalent GUI ici.
Étape par étape : migrer vos snippets manuellement
- Retrouvez vos correspondances existantes. Ouvrez
~/.config/espanso/match/base.ymlet tous les autres fichiers.ymlpersonnalisés que vous avez créés. Chaque pairetrigger/replaceest une chose que vous allez recréer. - Installez le correcteur GUI et ignorez tout fichier de configuration. Essayez Lightning Assist gratuitement pendant 14 jours — sans carte bancaire. L'application s'ouvre directement sur son panneau de snippets ; il n'y a aucun fichier de configuration à écrire au préalable.
- Recréez chaque correspondance sous forme de snippet. Cliquez sur New Snippet, collez le texte du déclencheur dans le champ Trigger (conservez
:brou/addrexactement tel quel si vous aimez cette convention — n'importe quel texte est un déclencheur valide), et collez le texte de remplacement dans le champ d'expansion. - Reconstruisez les variables sous forme d'espaces réservés. Une variable de date devient l'espace réservé
[#Date#]; une variable de presse-papiers devient l'espace réservé presse-papiers ; le texte brut reste du texte brut. Les variables de commande shell et les déclencheurs regex n'ont pas d'équivalent direct — laissez ces correspondances dans Espanso si vous en avez besoin. - Définissez votre mode de déclenchement. L'expansion As-You-Type (vous tapez le déclencheur, il s'expand en ligne) est le mode par défaut et ne nécessite aucune configuration. Si vous préférez appuyer sur une touche après avoir tapé le déclencheur, configurez cela une fois dans Settings → Triggers.
- Testez avant de supprimer quoi que ce soit. Essayez chaque snippet dans un document de test. Conservez votre configuration Espanso en place jusqu'à ce que vous ayez confirmé que l'ensemble migré fonctionne comme prévu — rien n'empêche de garder les deux en parallèle temporairement.
Soyez réaliste quant au temps que cela prend : il n'existe aujourd'hui aucune importation YAML en masse, chaque snippet est donc recréé à la main. Pour une bibliothèque de moins de 50 snippets, cela prend généralement bien moins de 15 minutes. Si vous migrez 100 entrées ou plus, la structure du YAML facilite au moins le copier-coller — lisez le déclencheur et la valeur de remplacement de chaque bloc et collez-les dans les champs GUI correspondants.
Ce que vous gagnez, et ce que vous perdez
Ce que vous gagnez : aucun fichier de configuration, aucune boucle de redémarrage pour tester, une bibliothèque de snippets consultable organisée en dossiers, des commandes IA qui réécrivent ou traduisent le texte sélectionné via un raccourci, la saisie vocale push-to-talk dans la même application, une synchronisation cloud automatique entre appareils, et le partage de snippets en équipe si besoin. Tout cela fonctionne sous Windows, macOS et Linux depuis le même compte.
Ce que vous perdez : Espanso est gratuit et open source, pour toujours — le palier gratuit de Lightning Assist est plafonné à 3 snippets, avec snippets, dossiers et partage d'équipe illimités pour 5,99 $/mois après un essai de 14 jours (les commandes IA et l'usage vocal consomment des Crédits IA achetés séparément). Vous perdez aussi les déclencheurs basés sur des regex et les correspondances par commande shell, qui n'ont pas d'équivalent dans le modèle GUI. Si ce sont vos raisons d'utiliser Espanso, cette migration n'est pas pour vous — et c'est une raison légitime de rester.
Si vous voulez une interface graphique sans quitter entièrement l'écosystème d'Espanso, des projets communautaires existent — espansoGUI (Rust/Iced, sur Flathub), EspansoEdit (freeware Windows), et l'IDE EspansoGUI. Ils valent la peine d'être essayés, mais chacun est une couche séparée, maintenue par des bénévoles, par-dessus les mêmes fichiers YAML sous-jacents ; Espanso lui-même n'a toujours pas de GUI officielle (la dernière version stable du projet principal est la v2.4.0, juillet 2026). Si ce que vous voulez, c'est un outil où l'interface graphique est le produit, c'est exactement l'écart que comble cette migration.
Questions fréquentes
Puis-je importer directement mes fichiers YAML d'Espanso ?
Pas aujourd'hui — il n'existe aucune importation en masse. Vous recréez chaque correspondance sous forme de snippet dans l'éditeur visuel. Pour la plupart des bibliothèques de moins de 50 snippets, cela prend bien moins de 15 minutes ; les bibliothèques plus grandes prennent proportionnellement plus de temps, puisque c'est toujours fait un par un.
Vais-je perdre mes déclencheurs basés sur des regex ou mes correspondances par commande shell ?
Oui. Ce sont des capacités spécifiques à Espanso construites sur son modèle YAML/scripting, et il n'y a pas d'équivalent GUI pour elles ici. Si les déclencheurs regex ou les correspondances adossées à des commandes shell sont centraux dans votre configuration, continuez à utiliser Espanso pour ces cas et envisagez un correcteur GUI uniquement pour vos snippets plus simples et statiques.
Puis-je conserver le même texte de déclenchement, comme :br ou /addr ?
Oui. Le champ Trigger accepte n'importe quel texte que vous tapez, y compris un : ou / en début, si c'est la convention à laquelle vous êtes habitué. Rien ne vous oblige à changer votre style d'abréviation pendant la migration.
Existe-t-il une GUI officielle d'Espanso à essayer avant de changer complètement d'outil ?
Pas d'officielle. Des projets communautaires comme espansoGUI, EspansoEdit et l'IDE EspansoGUI ajoutent une couche graphique, mais ce sont des outils séparés, maintenus par des bénévoles, posés sur les mêmes fichiers YAML — vous restez à un pas de la configuration brute. Si vous voulez que l'interface graphique soit le produit entier plutôt qu'un ajout, c'est exactement la différence dont il est question dans cette migration.
Lectures associées
- La meilleure alternative à Espanso en 2026 — le comparatif complet des fonctionnalités, des tarifs, et de qui devrait changer d'outil
- Correcteur d'expansion de texte pour Linux — comment l'expansion GUI fonctionne sous GNOME, KDE et dans les terminaux
- Lightning Assist contre Espanso — comparaison détaillée
- Espanso ne fonctionne pas ? 9 solutions courantes — si vous voulez d'abord simplement refaire fonctionner votre configuration actuelle
Sources
- Espanso — documentation Get Started — structure des fichiers de correspondances, syntaxe YAML
- Espanso — documentation d'installation Linux — méthodes d'installation par distribution
- Tarification de Lightning Assist — détails officiels des plans