MISE À JOUR DE GVFS POUR UNE MEILLEURE PRISE EN CHARGE DES SMARTPHONES ANDROID

Les possesseurs de téléphones intelligents propulsés par Android 4.0 (Ice Cream Sandwich), 4.1 (Jelly Bean) ou toute autre version ultérieure ont généralement constaté la difficulté d’accéder au contenu de leur appareil avec Ubuntu. Qu’ils se réjouissent: une nouvelle version de GVFS vient améliorer la situation! Ce changement n’étant pas rétro-porté vers Ubuntu 12.04 LTS et 12.10, le nouveau GVFS 1.15.2 peut être téléchargé depuis un PPA.

Effectuer une mise à niveau de GVFS permettra à votre appareil sous Android — ainsi que tous vos autres périphériques (appareils photos, baladeurs, appareils portables multimédia…) — d’être mieux reconnu par Ubuntu. Vous serez alors en mesure de transférer des fichiers depuis et vers votre téléphone intelligent à l’aide de votre gestionnaire de fichiers Nautilus ou Thunar, de synchroniser votre médiathèque avec votre lecteur de musique Rhythmbox ou Banshee, et télécharger vos photos depuis et vers votre appareil avec le gestionnaire de photos Shotwell.

/!\ Notez cependant que la version de GVFS proposée ici provient du dépôt personnel (PPA) de Philip Langdale, le développeur du greffon MTP pour GVFS; bien qu’étant testé, elle pourrait néanmoins rendre votre système instable ou entrer en conflit avec des futures mises à jour d’Ubuntu.

Pour procéder à la mise à jour de GVFS, suivez les instructions suivantes:

  1. Ouvrez un terminal et exécutez les commandes suivantes:sudo add-apt-repository ppa:langdalepl/gvfs-mtp sudo apt-get update
  2. Ouvrez ensuite le gestionnaire de mises à jour, puis appliquez l’ensemble des mises à jour proposées;
  3. Enfin, lorsque les mises à jour sont installées, redémarrez votre système.

Une fois la mise à jour complétée, branchez votre téléphone mobile sous Android à votre ordinateur à l’aide de son câble USB. Patientez quelques secondes: rapidement, votre gestionnaire de fichiers s’ouvre et vous affiche le contenu de votre appareil.

Notez que si votre téléphone est verrouillé par un mot de passe, une phrase de passe, un motif, une reconnaissance faciale ou un autre mécanisme de sécurité, vous devrez d’abord le déverrouiller. Un appareil verrouillé apparaîtra comme étant vide dans votre gestionnaire de fichiers.

Mais… pourquoi y a-t-il eu un problème de compatibilité?

La réponse est désormais bien connue. Les problèmes de compatibilité sont dus au changement de protocole de transfert de fichiers survenu au passage à Android 4.0.

Les appareils livrés nativement avec Android 2.x (Gingerbread) utilisaient un protocole de stockage de masse (USB MSC), ce qui permettait au téléphone d’être reconnu comme un disque dur externe ou une clé USB. Ce protocole donne un accès direct à la mémoire de stockage — plus techniquement parlant: un accès direct au système de fichiers du téléphone. Une restriction liée à ce mode d’accès est qu’un seul des appareils peut accéder au système de fichiers à la fois: soit le téléphone, soit l’ordinateur.

Ceci ne posait pas de difficulté avec les appareils livrés avec l’ancienne génération d’Android, car la mémoire des appareils avaient été fractionnée en deux partitions: une partition réservée aux applications et une partition dédiée aux données de l’utilisateur. Ainsi, lorsque l’ordinateur devait accéder aux données du téléphone, Android rendait la partition inaccessible à ce dernier. Un seul appareil accède au système de fichiers à la fois.

Mais ce mode de fonctionnement avait ses limites. En effet, plus les applications pour Android devenaient imposantes, plus on constatait que limiter l’espace réservé aux applications était handicapant. La solution trouvée était de fusionner les partitions d’applications et de données utilisateur: toute la mémoire du téléphone pouvait ainsi être utilisée pour tous les usages. Cependant, puisqu’il n’y avait plus qu’une seule partition, on ne pouvait plus utiliser le protocole de stockage de masse pour le transfert de fichiers.

Entre en jeu le Media Transfer Protocol (MTP). Cet autre protocole de transfert de fichiers fonctionne différemment: plutôt que d’accéder directement au système de fichiers de l’appareil, l’ordinateur communique ses requêtes au système d’exploitation du téléphone, et celui-ci transmet alors les fichiers demandés ou inscrit les fichiers reçus. L’ordinateur ne voit jamais directement la mémoire de stockage de l’appareil mobile; il ne communique qu’avec l’OS de l’appareil, et c’est ce dernier qui effectue les opérations sur les fichiers.

Tout irait pour le mieux, si ce n’est qu’Ubuntu gère assez mal le protocole MTP…

GVFS et les autres méthodes

D’autres solutions existent pour accéder au stockage de l’appareil Android depuis Ubuntu.

Une des solutions populaires est Go-Mtpfs, qui ajoute une pile supplémentaire de prise en charge du protocole MTP. Le désavantage de cette méthode est qu’elle nécessite une intervention manuelle de l’utilisateur avant d’accéder au contenu du téléphone.

D’autres solutions sont l’usage d’applications mobiles telles AirDroid ou, pour les appareils de Samsung, Kies Air. Ces solutions ont l’avantage de ne nécessiter aucun câble USB entre l’appareil et l’ordinateur: tous les transferts s’effectuent par réseau WiFi, à travers un navigateur Web. Cependant, elles peuvent être moins intéressantes lorsque vous vous trouvez sur un réseau non sécurisé ou public.

L’intérêt de GVFS est qu’il s’agit d’une composante de base d’Ubuntu, bien intégrée dans le système. Ainsi, l’appareil mobile est reconnu par le gestionnaire de fichiers, mais aussi les lecteurs de musique Rhythmbox et Banshee pour synchroniser sa médiathèque, et le gestionnaire de photos Shotwell pour synchroniser sa photothèque.

De quoi réconcilier les utilisateurs d’Ubuntu avec le protocole MTP? Pas si convaincu, mais c’est déjà un net pas en avant vers une meilleure prise en charge de ce protocole.

14 RÉFLEXIONS SUR “ MISE À JOUR DE GVFS POUR UNE MEILLEURE PRISE EN CHARGE DES SMARTPHONES ANDROID ”

  1. Milouse Cet article est directement copié/collé de google translate ?
    1. AlexandreP Il ne l’est pas; pourquoi? As-tu trouvé des fautes?
  2. kisame En lisant l’article, j’avais beaucoup d’espoir. Mais, j’ai essayé la manipulation sur ma Kubuntu 12.04LTS et ça ne fonctionne pas. À moins qu’il y ait une étape supplémentaire qui n’est pas indiquée ici ou que la manipulation ne soit possible que sur Ubuntu (en version Unity ou Gnome).
    1. AlexandreP Ceci ne fonctionnera qu’avec les environnements qui utilisent GVFS (GNOME et Xfce pour sûr, peut-être aussi Cinnamon — mais je n’ai pas vérifié pour ce dernier).Il me semble que KDE utilise une autre méthode pour gérer les volumes amovibles — les KIO slaves. Pour le moment, un greffon MTP pour KIO semble développé, mais pas pris en charge officiellement pas le projet KDE.
      1. kisame SalutMerci pour ta réponse. J’essayerai ta méthode pour KDE plus tard.
        Pour le moment, j’ai testé ta solution sur ma version d’Ubuntu 10.04LTS sur mon pc portable et… ÇA MARCHE!!!!!
        Donc, un grand merci pour ce poste. Même si j’espère que ta solution pour KDE fonctionne, car en définitive c’est kubuntu que j’utilise le plus.
        Je mettrai un commentaire une fois que je l’aurai testé.@+
        1. AlexandreP Re!Je viens de regarder vite-fait s’il n’existerait pas déjà un paquet préparé pour Kubuntu. Il semble que dans un PPA expérimental de l’équipe de Kubuntu, il y a un paquet « kio-mtp » compilé par Rohan Garg. Donc, pas besoin de le compiler soi-même. Le PPA ne semble proposer le paquet « kio-mtp » que pour Ubuntu 12.10 et Raring. Cependant, j’ai regardé vite-fait les dépendances du paquet, et je pense que si tu télécharges le paquet directement et l’installes par le gestionnaire de paquets, il s’installera. Les dépendances ont l’air satisfaites.
  3. kisame SalutJ’ai essayé d’installer le paquet kio-mtp mais ça ne semble pas fonctionner. Il me met des messages d’erreur quand j’essaye de monter mon Galaxy S3.
    J’avais essayé de tenter la compilation en premier lieu, mais je dois avouer que je n’ai rien compris à cette phrase:
    cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debugfull #(THIS MAY BE DIFFERENT)
    Du coup, je ne sais pas quelle commande taper dans ma ligne de commande. Est ce que tu saurais comment faire?@+
    1. Alexandre Malheureusement, je ne suis pas un as de la compilation. Je n’ai jamais utilisé cmake pour compiler quoi que ce soit. Ma suggestion serait de demander de l’aide dans le forum d’Ubuntu-FR, dans la section dédiée aux questions à propos de KDE (http://forum.kubuntu-fr.org/viewforum.php?id=66).
  4. Samuel Merci beaucoup pour l’astuce 
  5. fanrcois Merci pour cette astuce. Et pour l’explication qui l’accompagne (c’est plus intéressant de comprendre pourquoi les choses se passent comme elles se passent, non ?)Pour moi, ça a marché impec’ et je peux -enfin- gérer le contenu de mon S3 simplement.
  6. Alexandre P. Je me permets une petite note supplémentaire pour indiquer que cette astuce n’est pas nécessaire dans Ubuntu 13.04, qui sort dans quelques jours. La nouvelle version d’Ubuntu inclut la nouvelle révision de GVFS.
  7. Alfe noirSalut,Après quelques échecs d’installation sur plusieurs pc en 12.04 de MTP avec les différentes méthodes trouvées dans la doc d’ubuntu-fr (c’est vraiment un chantier), je suis tombé par hasard sur cet article. La doc ne mentionne pas cette solution qui à l’air pourtant simple et efficace, est-ce qu’il y a une raison à cela ? Sinon je vais mettre à jour la doc, mais j’attends confirmation de votre part. Merci de votre attention.
    1. Alexandre P.Je ne vois pas de raison particulière qui empêcherait la présence de cette information dans la documentation d’Ubuntu-FR. Si tu souhaites l’y rapporter, ce sera assurément une informations intéressante à partager!
  8. Alfe noir Hello, en fait moi non plus dans l’absolu mais je préférais demander. Bon du coup je m’occupe de ça, j’ai quelques jours de vacances. :p Sinon vous pouvez supprimer ces deux derniers messages qui son plus inutiles qu’autre chose. Merci A+