﻿﻿{"id":2387,"date":"2026-02-25T09:59:14","date_gmt":"2026-02-25T08:59:14","guid":{"rendered":"https:\/\/elearningsamba.com\/index.php\/thefly-teleportez-votre-shell-sur-nimporte-quel-serveur\/"},"modified":"2026-02-25T09:59:14","modified_gmt":"2026-02-25T08:59:14","slug":"thefly-teleportez-votre-shell-sur-nimporte-quel-serveur","status":"publish","type":"page","link":"https:\/\/elearningsamba.com\/index.php\/thefly-teleportez-votre-shell-sur-nimporte-quel-serveur\/","title":{"rendered":"TheFly &#8211; T\u00e9l\u00e9portez votre shell sur n&#8217;importe quel serveur"},"content":{"rendered":"<p>Si vous bossez sur des serveurs distants, vous connaissez cette douleur&#8230; D&#8217;un c\u00f4t\u00e9, vous avez votre terminal local aux petits oignons, vos alias, vos plugins&#8230; et hop, un petit <code>ssh root@serveur<\/code> et vous vous retrouvez avec un shell tout pourri, tout basique. Mais c&#8217;\u00e9tait sans compter sur Joknarf qui a pondu<br \/>\n<a href=\"https:\/\/github.com\/joknarf\/thefly\">TheFly<\/a><br \/>\n, un gestionnaire de plugins shell qui t\u00e9l\u00e9porte votre environnement via SSH ou sudo en un instant.<\/p>\n<p>Le principe est pas b\u00eate du tout vous allez voir. En fait, vous installez vos plugins et dotfiles dans <code>~\/.fly.d\/<\/code> sur votre machine, et quand vous lancez <code>flyto user@serveur<\/code>, tout est empaquet\u00e9 et envoy\u00e9 dans <code>\/tmp\/.fly.$USER\/<\/code> distant. Prompt perso, alias, fonctions&#8230; tout d\u00e9barque avec vous, un peu comme un sac \u00e0 dos pour votre shell.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/korben.info\/thefly-shell-teleportation\/thefly-shell-teleportation-1.gif\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Et le truc bien, c&#8217;est que \u00e7a ne modifie RIEN sur le serveur distant car tout vit dans <code>\/tmp<\/code>, donc quand vous vous d\u00e9connectez&#8230; pouf, tout a disparu. Pas de fichier qui tra\u00eene, pas de <code>.bashrc<\/code> modifi\u00e9 donc c&#8217;est plut\u00f4t safe pour les environnements de prod o\u00f9 vous ne voulez pas laisser de traces.<\/p>\n<p>\u00c7a marche avec bash, zsh et m\u00eame ksh (pour les nostalgiques). L&#8217;installation, c&#8217;est un curl en une ligne (\u00e0 relire comme d&#8217;hab), ou alors brew, dnf, paquets .deb&#8230; y&#8217;a le choix. C&#8217;est du pur shell POSIX, donc y&#8217;a Z\u00c9RO d\u00e9pendance externe. Attention par contre, si votre <code>~\/.fly.d\/<\/code> d\u00e9passe 128 Ko, \u00e7a risque de ramer sur des connexions un peu lentes.<\/p>\n<p>Ah et y&#8217;a aussi <code>flyas<\/code> pour faire pareil en sudo (attention, \u00e7a t\u00e9l\u00e9porte aussi vos plugins, donc v\u00e9rifiez que \u00e7a colle avec votre politique de s\u00e9cu), et <code>flysh<\/code> pour switcher de shell sans perdre vos r\u00e9glages. Et puis <code>flypack<\/code> g\u00e9n\u00e8re une archive auto-extractible pour avoir un script shell qui s&#8217;installe tout seul. Pas mal donc aussi pour partager votre config.<\/p>\n<p>C\u00f4t\u00e9 plugins, c&#8217;est pas<br \/>\n<a href=\"https:\/\/korben.info\/oh-my-zsh-framework-booster-shell-zsh.html\">Oh My Zsh<\/a><br \/>\navec ses 350+ plugins, mais y&#8217;a l&#8217;essentiel. Un prompt custom (nerdp), un historique am\u00e9lior\u00e9 (redo), de la navigation de r\u00e9pertoires (seedee)&#8230; et shell-ng qui regroupe le tout d&#8217;un coup. Perso, c&#8217;est bien suffisant je trouve.<\/p>\n<p>D&#8217;ailleurs si vous \u00eates du genre \u00e0<br \/>\n<a href=\"https:\/\/korben.info\/decouvrez-gum-outil-ecrire-scripts-dotfiles.html\">customiser votre shell<\/a><br \/>\nau millim\u00e8tre, TheFly s&#8217;int\u00e8grera bien dans votre workflow. En plus c&#8217;est sous licence, open source, et \u00e7a tourne sur Linux, macOS et m\u00eame SunOS (bon ok, je sais, quasi personne utilise SunOS en 2026 mais bon&#8230;).<\/p>\n<p>Voil\u00e0, comme \u00e7a si vous g\u00e9rez une dizaine de serveurs au quotidien, \u00e7a vous fera gagner un paquet de temps !<\/p>\n<p>Amusez-vous bien !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si vous bossez sur des serveurs distants, vous connaissez cette douleur&#8230; D&#8217;un c\u00f4t\u00e9, vous avez votre terminal local aux petits oignons, vos alias, vos plugins&#8230; et hop, un petit ssh root@serveur et vous vous retrouvez avec un shell tout pourri, tout basique. Mais c&#8217;\u00e9tait sans compter sur Joknarf qui a pondu TheFly , un gestionnaire de plugins shell qui t\u00e9l\u00e9porte votre environnement via SSH ou sudo en un instant. Le principe est pas b\u00eate du tout vous allez voir. En fait, vous installez vos plugins et dotfiles dans ~\/.fly.d\/ sur votre machine, et quand vous lancez flyto user@serveur, tout est empaquet\u00e9 et envoy\u00e9 dans \/tmp\/.fly.$USER\/ distant. Prompt perso, alias, fonctions&#8230; tout d\u00e9barque avec vous, un peu comme un sac \u00e0 dos pour votre shell. Et le truc bien, c&#8217;est que \u00e7a ne modifie RIEN sur le serveur distant car tout vit dans \/tmp, donc quand vous vous d\u00e9connectez&#8230; pouf, tout a disparu. Pas de fichier qui tra\u00eene, pas de .bashrc modifi\u00e9 donc c&#8217;est plut\u00f4t safe pour les environnements de prod o\u00f9 vous ne voulez pas laisser de traces. \u00c7a marche avec bash, zsh et m\u00eame ksh (pour les nostalgiques). L&#8217;installation, c&#8217;est un curl en une ligne (\u00e0 relire comme d&#8217;hab), ou alors brew, dnf, paquets .deb&#8230; y&#8217;a le choix. C&#8217;est du pur shell POSIX, donc y&#8217;a Z\u00c9RO d\u00e9pendance externe. Attention par contre, si votre ~\/.fly.d\/ d\u00e9passe 128 Ko, \u00e7a risque de ramer sur des connexions un peu lentes. Ah et y&#8217;a aussi flyas pour faire pareil en sudo (attention, \u00e7a t\u00e9l\u00e9porte aussi vos plugins, donc v\u00e9rifiez que \u00e7a colle avec votre politique de s\u00e9cu), et flysh pour switcher de shell sans perdre vos r\u00e9glages. Et puis flypack g\u00e9n\u00e8re une archive auto-extractible pour avoir un script shell qui s&#8217;installe tout seul. Pas mal donc aussi pour partager votre config. C\u00f4t\u00e9 plugins, c&#8217;est pas Oh My Zsh avec ses 350+ plugins, mais y&#8217;a l&#8217;essentiel. Un prompt custom (nerdp), un historique am\u00e9lior\u00e9 (redo), de la navigation de r\u00e9pertoires (seedee)&#8230; et shell-ng qui regroupe le tout d&#8217;un coup. Perso, c&#8217;est bien suffisant je trouve. D&#8217;ailleurs si vous \u00eates du genre \u00e0 customiser votre shell au millim\u00e8tre, TheFly s&#8217;int\u00e8grera bien dans votre workflow. En plus c&#8217;est sous licence, open source, et \u00e7a tourne sur Linux, macOS et m\u00eame SunOS (bon ok, je sais, quasi personne utilise SunOS en 2026 mais bon&#8230;). Voil\u00e0, comme \u00e7a si vous g\u00e9rez une dizaine de serveurs au quotidien, \u00e7a vous fera gagner un paquet de temps ! Amusez-vous bien !<\/p>\n","protected":false},"author":1,"featured_media":2388,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_kadence_starter_templates_imported_post":false,"footnotes":""},"class_list":["post-2387","page","type-page","status-publish","has-post-thumbnail","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/comments?post=2387"}],"version-history":[{"count":0,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/pages\/2387\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media\/2388"}],"wp:attachment":[{"href":"https:\/\/elearningsamba.com\/index.php\/wp-json\/wp\/v2\/media?parent=2387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}