Modifier un fichier SFTP depuis le Mac sans le renvoyer à la main

En bref : inutile de télécharger un fichier de votre serveur, de le modifier puis de le renvoyer à la main. Dans Folia Files, connectez-vous une fois au serveur en SFTP, puis double-cliquez sur le fichier dans le dossier du serveur. Il s’ouvre dans votre app habituelle depuis une copie sur votre Mac, et à chaque enregistrement Folia Files le renvoie sur le serveur, après avoir vérifié que personne ne l’y a modifié entre-temps. Vous suivez les envois dans Opérations › Fichiers distants.
Voici comment le mettre en place, ce que vous voyez pendant que vous travaillez et ce qui se passe quand le serveur refuse.
Pourquoi modifier un fichier du serveur est une corvée
Avec un client SFTP, la routine compte trois étapes : télécharger config.php ou index.html, le modifier, le renvoyer. Oubliez la dernière et le serveur tourne toujours avec l’ancienne version. Faites-le depuis deux Mac et vous écrasez sans le voir la modification de quelqu’un d’autre.
Monter le serveur comme un disque paraît plus simple, puisque votre éditeur peut ouvrir le fichier sur place. Mais les apps enregistrent mal directement sur un disque réseau : beaucoup écrivent un fichier temporaire qu’elles mettent ensuite à la place de l’original, laissent des fichiers de verrou ou attendent chaque aller-retour avec un serveur lent. Résultat possible : un fichier qui perd son propriétaire et ses droits, ou un éditeur qui reste bloqué pendant l’enregistrement.
L’idéal réunit les deux : un fichier local qui convient à votre éditeur, et une copie sur le serveur qui suit chaque enregistrement.
Étape 1 : se connecter au serveur en SFTP
Dans l’édition du site de Folia Files, les connexions SFTP passent par rclone, un outil gratuit et open source. Installez-le une fois dans le Terminal avec brew install rclone (s’il manque, la fenêtre des connexions propose un bouton pour le faire). Ensuite :
- Choisissez Outils › Connexions (serveurs et clouds)… (⌘K), cliquez sur Nouvelle connexion et choisissez SFTP / SCP (SSH).
- Saisissez l’adresse du serveur, votre nom d’utilisateur, et un mot de passe ou votre clé SSH (laissez le mot de passe vide pour utiliser la clé ou l’agent SSH).
- Dans Dossier de départ, tapez le dossier où vous travaillez d’habitude, par exemple
/var/www. Folia Files monte tout le serveur à partir de sa racine : vous pouvez remonter partout, le dossier de départ est simplement celui qui s’ouvre. - Cliquez sur Tester la connexion, puis sur Monter. Le serveur apparaît dans la section Serveurs de la barre latérale.

Laissez Lecture seule décoché dans les options de la connexion si vous voulez modifier vos fichiers : sur une connexion en lecture seule, les fichiers s’ouvrent tels quels, sans rien à renvoyer. Pour en savoir plus sur rclone, les clés SSH et S3, voyez comment se connecter en SFTP et S3 sur Mac sans macFUSE.
Étape 2 : ouvrir le fichier et le modifier
Parcourez le serveur dans un panneau comme n’importe quel dossier, puis :
- double-cliquez sur le fichier pour l’ouvrir dans son app par défaut, ou
- faites un clic droit et choisissez Ouvrir avec pour prendre une autre app : TextEdit, BBEdit, Visual Studio Code, Nova ou l’éditeur de votre choix.
Folia Files télécharge une copie de travail sur votre Mac et l’ouvre. Un bandeau vous l’annonce : « “index.html” s’ouvre depuis une copie sur ce Mac », et précise que chaque enregistrement est renvoyé sur votre serveur, avec un suivi dans Opérations. Si le téléchargement dure plus d’une seconde, vous voyez d’abord « Ouverture de “index.html”… » avec le nom du serveur.
Modifiez, puis enregistrez comme d’habitude avec ⌘S. Environ une seconde après que votre app a fini d’écrire, Folia Files envoie le fichier. Il n’affiche Enregistré sur le serveur qu’une fois que le serveur a vraiment le nouveau contenu : en SFTP, il interroge le serveur lui-même au lieu de se fier au montage.
Quelques détails qui comptent sur un serveur web :
- Les droits ne changent pas. Le fichier est réécrit sur place : il garde son propriétaire et ses droits sur le serveur au lieu de prendre ceux d’un nouveau fichier.
- Une copie par fichier. Rouvrir le même fichier rouvre la même copie de travail, avec ce qui n’est pas encore envoyé.
- Les documents seulement. Les fichiers jusqu’à 200 Mo passent par une copie. Les vidéos, archives, images disque et apps s’ouvrent directement depuis le serveur.
Ce fonctionnement est activé par défaut. L’option est dans Réglages › Fichiers et réseau : « Modifier les documents d’un serveur depuis une copie sur ce Mac, renvoyée à chaque enregistrement ». Décochée, les fichiers s’ouvrent directement depuis le serveur, et vous pouvez toujours faire un clic droit sur un fichier et choisir Modifier et renvoyer sur le serveur.

Ce n’est pas réservé au SFTP : il en va de même pour les fichiers de vos autres connexions et de tout volume réseau monté sur le Mac, comme un partage SMB ou un serveur WebDAV.
Étape 3 : suivre les envois dans Opérations › Fichiers distants
Cliquez sur Opérations dans la barre d’outils (les deux flèches), ou choisissez Fenêtre › Opérations en cours (⌃⌘O). Tant que des fichiers d’un serveur sont ouverts, les pages Tout et En cours montrent une section Fichiers distants, une ligne par fichier :
- le nom du fichier, puis la connexion et le chemin du fichier sur le serveur ;
- son état : À jour, Envoyé à telle heure, Envoi…, Modifications pas encore envoyées, Modifié sur le serveur entre-temps, ou l’erreur qui a arrêté le dernier envoi ;
- trois boutons : Renvoyer sur le serveur, Afficher la copie sur ce Mac et Terminer (supprime la copie sur ce Mac).
Terminez un fichier quand vous en avez fini. Si le serveur n’a pas votre dernière version, Folia Files demande d’abord : « Terminer sans envoyer les dernières modifications ? ». Les copies à jour et inchangées depuis une semaine sont retirées d’elles-mêmes.
Quand le serveur dit non
Le serveur refuse d’écrire le fichier
C’est le cas typique d’un fichier de configuration qui appartient à un autre utilisateur, comme un php.ini à root alors que vous vous connectez en tant que alex. rclone répond un laconique « permission denied » ; Folia Files le traduit en clair, dans le bandeau et dans Fichiers distants :
Le serveur refuse d’écrire ce fichier : l’utilisateur de la connexion n’a pas le droit de le modifier (propriétaire ou droits du fichier sur le serveur).
Votre modification n’est pas perdue : elle reste sur votre Mac, et le bandeau propose Réessayer. Pour régler le problème, changez le propriétaire ou les droits du fichier sur le serveur, ou connectez-vous avec un utilisateur qui a le droit de l’écrire, puis renvoyez. Même chose pour « Le serveur n’a plus de place pour ce fichier. » Si le serveur ne confirme jamais la réception, vous lisez « Le serveur n’a pas confirmé la réception. La modification reste sur ce Mac. »
Si la connexion tombe au milieu d’un envoi, la version que le serveur avait avant est gardée sur votre Mac, et le bouton Afficher du bandeau vous y mène.
Quelqu’un a modifié le fichier sur le serveur
Avant chaque envoi, Folia Files compare le fichier du serveur à celui que vous avez ouvert. S’il a changé (un collègue, un script de déploiement, un autre éditeur), rien n’est écrasé. Un bandeau annonce « “index.html” a changé sur le serveur » et propose :
- Remplacer celle du serveur : votre version part sur le serveur ; si Folia Files n’a pas vu ce qui s’y trouve, il en garde d’abord une copie sur votre Mac ;
- Garder les deux : votre version est enregistrée à côté sous le nom « index (ma version).html », et vos prochains enregistrements vont dans ce fichier.
Le serveur n’est pas connecté
Si vous enregistrez pendant que la connexion est coupée, le bandeau indique que le serveur n’est pas connecté et que la modification est gardée sur ce Mac. Cliquez sur Se connecter et renvoyer pour le remonter et envoyer. Le journal de la connexion (clic droit sur le serveur dans la barre latérale › Journal de la connexion) liste chaque fichier envoyé et chaque échec, utile quand un problème revient. Si les disques réseau ont tendance à bloquer votre Mac, cet article explique pourquoi le Finder se fige sur un disque réseau.
Quitter avec des modifications pas encore sur le serveur
Gardez Folia Files ouvert pendant que vous travaillez : c’est lui qui envoie chaque enregistrement. Si vous quittez alors qu’une modification n’est pas arrivée sur le serveur, il demande :
Des modifications de fichiers distants ne sont pas sur le serveur. Elles restent sur ce Mac : Folia Files les proposera au prochain lancement (Opérations › Fichiers distants).
Cliquez sur Annuler pour rester et les envoyer, ou sur Quitter : au prochain lancement, le fichier affiche « Modifications pas encore envoyées » dans Fichiers distants, et le bouton en forme de flèche l’envoie. Une modification restée en attente lors d’une session précédente et pas réenregistrée depuis, comme un fichier que le serveur refuse toujours, ne fait plus poser la question à chaque fermeture : elle attend dans Fichiers distants que vous l’envoyiez ou que vous la terminiez.
Édition du site et édition Mac App Store
Tout ce qui précède décrit l’édition du site, où SFTP marche dès que rclone est installé. La modification par une copie existe dans les deux éditions, y compris pour les partages SMB et WebDAV. Dans l’édition Mac App Store, les connexions SFTP demandent Folia Files Companion, une petite app gratuite, car la sandbox d’Apple ne laisse pas une app lancer rclone.
Pour tout savoir sur les connexions, les clouds et la modification sur place, voyez la page serveurs et clouds.


