Comme tous les ans, pCloud est le vilain petit canard avec qq autres apps, qui vont déconner LONGTEMPS avec le nouveau macOS. En prime, l'archi de pCloud repose sur un truc qu'Apple retire de l'OS... Je détaille et je vous explique comment fiabiliser tout ça avec rclone.
Je pars du principe que vous avez l'app officielle installée et donc macFuse installé (que vous pouvez updater manuellement depuis le panneau de config du Mac.) Sinon, bha installez macFuse hein. ![]()
Le cœur du problème réside dans l'abandon progressif et agressif par Apple des extensions de noyau (kexts).
Pour monter son lecteur virtuel dans le Finder de macOS, pCloud s'appuie sur une couche de compatibilité tierce appelée macFUSE (Filesystem in Userspace), utilisant une extension système connue sous le nom de pcloudfs. Au cours des derniers cycles de développement, Apple a rendu obsolètes les extensions de noyau au profit de son framework moderne en espace utilisateur, File Provider. Parce que pCloud continue de s'appuyer sur l'ancienne architecture kext, les versions modernes de macOS considèrent l'extension comme un risque pour la sécurité et la stabilité.
Lorsque le système d'exploitation détecte des pics de mémoire, des interruptions d'interrogation réseau ou des blocages mineurs de threads provenant du processus pcloudfs, macOS met fin de force à l'extension. Cela entraîne le démontage spontané du lecteur virtuel et, dans les cas graves, peut provoquer des paniques du noyau ou des pics d'utilisation du processeur.
Chez moi ça veut surtout dire perte du mount où Plex stocke tous mes films de vacance. RELOU. Sur macOS 27, le soft officiel va tout simplement refuser de mount le drive.
(Notez que la sync de folder à folder fonctionne en revanche. Ouf.)
Solution rclone
Déjà, N'INSTALLEZ PAS RCLONE VIA HOMEBREW.
Pour s'interfacer avec le système de fichiers de macOS via macFUSE, rclone nécessite un module de liaison C spécialisé connu sous le nom de cmount. Étant donné que la philosophie de gestion de paquets de Homebrew évite d'imposer des extensions de noyau tierces (comme macFUSE) comme dépendances de compilation strictes, les mainteneurs de Homebrew compilent intentionnellement le binaire rclone pour macOS sans l'indicateur cmount. RELOU 9000.
sudo curl https://rclone.org/install.sh | sudo bash
is the way.
Ensuite on configure avec
rclone config
- Tapez
npour New Remote et appuyez sur Entrée. - Nommez le
pcloud_remote(par exemple) et appuyez sur Entrée. - L'assistant présentera une liste de fournisseurs de stockage. Tapez
pcloudet appuyez sur Entrée. - Laissez
client_idetclient_secretvides (appuyez sur Entrée pour les deux) pour utiliser les clés API optimisées par défaut de rclone. - Lorsqu'on vous demande l'emplacement de votre serveur, choisissez le centre de données où se trouve votre compte (par ex.,
1pour l'UE,2pour les États-Unis). - Lorsqu'on vous demande
Edit advanced config?, tapezn. - Lorsqu'on vous demande
Use auto config?, tapezy. Cela ouvrira votre navigateur web par défaut. Connectez-vous à pCloud et cliquez sur "Allow" (Autoriser) pour accorder l'accès à l'API. - Retournez au terminal, vérifiez les détails, et tapez
ypour enregistrer, puisqpour quitter l'assistant de configuration.
Ensuite il suffit de faire un dossier pCloud dans notre dossier Home et lancer le bébé avec :
rclone mount "pCloud Drive:" "$HOME/pCloud Drive" \
--vfs-cache-mode full \
--vfs-cache-max-size 20G \
--vfs-cache-max-age 24h \
--volname "pCloud Drive" \
--daemon
Ça permet de faire tourner pCloud avec un cache VFS qui va éviter plein de problèmes. Si 20 Go c'est trop ou pas assez, vous êtes grands, ajustez selon la machine / vos besoins.
Ça va monter le drive comme l'app officielle. Que vous pouvez garder aussi, Dans macOS 27 elle ne fonctionne pas sur le mount du drive mais cette méthode permet aussi de fiabiliser pCloud dans certains cas. Du coup changez le mount de l'app officiel vers un truc planqué et garder le rclone exposée vers vos app et finder.
Le reboot
Pour automatiser cette tâche et rendre le montage persistant au redémarrage sous macOS, l'approche propre consiste à utiliser launchd, le gestionnaire de services natif d'Apple. Contrairement à Linux qui utilise systemd ou /etc/fstab, macOS s'appuie sur des fichiers de configuration XML appelés « Property Lists » (.plist) pour gérer l'exécution en arrière-plan des processus (Daemons et Agents).
On va se faire un « Launch Agent » dédié à rclone. Ce script s'exécutera automatiquement à chaque ouverture de session.
Une modification importante de la commande
Avant de créer le fichier, il y a un détail technique crucial à comprendre : il faut retirer l'argument --daemon de la commande rclone.
Pourquoi ? Parce que launchd est conçu pour surveiller le processus de l'application. Si vous utilisez --daemon, rclone se détache du terminal et passe en arrière-plan par lui-même. launchd pensera alors que le processus a planté ou s'est arrêté de manière inattendue, et tentera de le relancer en boucle, créant une surcharge système (boot loop du processus). Rclone doit tourner au premier plan dans le conteneur de launchd pour que la directive de maintien en vie (KeepAlive) fonctionne correctement.
Étape 1 : Créer le fichier Launch Agent
Les Launch Agents de l'utilisateur sont stockés dans le répertoire ~/Library/LaunchAgents/.
- Ouvrez le terminal et créez un nouveau fichier
.plistavec l'éditeurnano:
nano ~/Library/LaunchAgents/com.rclone.pcloud.plist
- Collez le code XML ci-dessous. WARNING : la variable
$HOMEn'est pas gérée nativement par les tableaux d'arguments delaunchd, le chemin absolu/Users/votrecompte/est donc utilisé à la place (changez "votrecompte" par votre nom de user) :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.rclone.pcloud</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/rclone</string>
<string>mount</string>
<string>pCloud Drive:</string>
<string>/Users/votrecompte/pCloud Drive</string>
<string>--vfs-cache-mode</string>
<string>full</string>
<string>--vfs-cache-max-size</string>
<string>20G</string>
<string>--vfs-cache-max-age</string>
<string>24h</string>
<string>--volname</string>
<string>pCloud Drive</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardErrorPath</key>
<string>/Users/votrecompte/Library/Logs/rclone-pcloud.error.log</string>
<key>StandardOutPath</key>
<string>/Users/votrecompte/Library/Logs/rclone-pcloud.log</string>
</dict>
</plist>
- Sauvegardez et quittez nano en appuyant sur
Ctrl + O,Entrée, puisCtrl + X.
Notes techniques sur ce fichier :
RunAtLoadforce l'exécution au démarrage de la session.KeepAliveordonne à macOS de relancer automatiquement rclone s'il crashe de manière inattendue ou si le processus est tué.- Les clés
StandardOutPathetStandardErrorPathdirigent les logs vers des fichiers textes standards de macOS. En cas d'erreur de montage, vous pourrez consulter ces fichiers pour diagnostiquer le problème.
Étape 2 : Charger le fichier dans le système
Il faut maintenant informer macOS de l'existence du bidule.
Assurez-vous d'abord que le lecteur pCloud n'est pas déjà monté manuellement pour éviter un conflit, puis exécutez cette commande :
launchctl load ~/Library/LaunchAgents/com.rclone.pcloud.plist
Le lecteur virtuel pCloud devrait apparaître instantanément dans le Finder.
Vérification : Vous pouvez interroger l'état de ce service dans launchd via la commande suivante, qui retournera le PID (Process ID) du service s'il fonctionne correctement :
launchctl list | grep com.rclone.pcloud
Boom, magique, à chaque démarrage du Mac et connexion à la session utilisateur, rclone montera le lecteur de façon transparente en tâche de fond, pendant que l'application officielle pCloud gérera vos synchronisations de dossiers dans son coin isolé.
Et un jour, UN JOUR pCloud modernisera son putain de soft... ![]()