Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !



Comment synchroniser un iPhone 3g et 3gs sous ubuntu ?

Pour l'iPhone 3gs et l'iPhone 3g, fonctionnant avec le firmware 3.0 à 3.1.3, il est possible de synchroniser ses musiques, ses photos et ses vidéos sous ubuntu en se passant de iTunes. Cette methode est utile pour les iPhone jailbreaké ou non.

La première méthode est fortement recommandée.
Marche également pour tous les iPod Touch et iPhones.

La méthode qui semble la plus simple pour le premier venu. En effet elle ne nécessite pas de compilation, ce qui est parfois problématique. En outre il semblerait que certaines personnes rencontrent des problèmes avec la deuxième méthode. De plus cette méthode ne requiert pas de montage manuel de l'iPhone, ce dernier étant fait automatiquement, contrairement à la deuxième méthode. Enfin cette dernière supporte les pochettes d'albums et utilise Rhythmbox, qui est installé par défaut avec Ubuntu.

La synchronisation de vidéos est1) possible avec gtkpod, que vous pouvez soit installer depuis la logithèque, soit compiler comme dans la deuxième méthode pour avoir les dernières mises à jour.

La méthode est disponible ici : http://fatbuttlarry.blogspot.com/2010/01/iPod-touch-iPhone-3g-ubuntu-910-in-5.html

Voici sa traduction française :

  • Important : A l'aide d'un ordinateur sous Windows avec iTunes, ajouter au moins une chanson dans l'iPhone via iTunes. Cela créera la base de donnée de l'iPhone/iPod Touch nécessaire pour que le reste de ce tutoriel fonctionne,
  • Soyez sûr d'être connecté à Internet,
  • Ajoutez le dépôt pmcenery :
    sudo add-apt-repository ppa:pmcenery/ppa
  • puis installez les paquets suivants : gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-dev libgpod-common libimobiledevice-utils libimobiledevice0 python-libimobiledevice libplist++1 libplist-utils python-plist libusb-1.0-0 libusb-1.0-0-dev libusbmuxd1 usbmuxd ou cliquez sur ce lien pour tout installer en un clic.
  • Entrez la commande suivante dans un terminal :
    sudo su -c "echo user_allow_other >> /etc/fuse.conf"
Cela va installer la dernière version de fink fuse, "fusepod" et la rendre utilisable par les utilisateurs normaux2)
  • Fermez votre session. Vous pouvez tout aussi bien redémarrer votre ordinateur.
  • Reconnectez-vous sous Ubuntu,
  • Connectez votre iPod Touch/iPhone. Il vous sera demandé plusieurs fois d'ouvrir l'iPod ; cliquez à chaque fois sur « Annuler »,
  • Ouvrez un terminal,
  • Créez le fichier SysInfoExtended sur le iPod/iPhone pour que des applications comme RhythmBox puissent l'utiliser, en copiant/collant les lignes suivantes dans la console :
sudo adduser "$USER" fuse
echo -e "\n\nVeuillez entrer le nom de votre iPod:"
read iPod_name
mkdir -p "$HOME/.gvfs/$iPod_name/iTunes_Control/Device/"
iPod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "$HOME/.gvfs/$iPod_name/"
Il vous sera demandé le nom de votre iPod Touch/iPhone. Il faut mettre le même nom que l'icône sous lequel apparait votre iPhone sur le bureau.
  • Déconnectez-vous de votre session une dernière fois puis reconnectez-vous,
  • lancez RhythmBox via « Applications → Son et vidéo → RhythmBox ». Votre iPod devrait se trouver sur la gauche. Glissez/déposez les fichiers comme vous le feriez avec iTunes.
Si votre iPhone n'apparait pas à gauche, essayez d'y accéder en cliquant sur son icône sur le Bureau, et en cliquant sur "Ouvrir Rhythmbox".
Si vous avez des problèmes, essayez de redémarrer votre iPhone. Si cela ne suffit pas, regardez les commentaires sur http://fatbuttlarry.blogspot.com/2010/01/iPod-touch-iPhone-3g-ubuntu-910-in-5.html ( blog en anglais ).

Avec KDE, il est possible de rencontrer des problèmes, essayez http://www.webupd8.org/2010/01/easy-way-to-sync-your-iPhone-with.html (en anglais aussi)

Les procédures qui suivent utilisent des logiciels en développement. Des bugs peuvent survenir.
ATTENTION : Ce tutoriel ne fonctionne plus vraiment depuis quelques temps, suite à des changements dans le git. (cf. Source - voir les dernières pages)

Installation de iFuse

Pour Ubuntu 9.10 et suivant

Il faut ajouter le dépôt ci-dessous, puis recharger la liste des paquets :

sudo add-apt-repository ppa:pmcenery/ppa

Pour Ubuntu 9.04 et antérieures

Ajouter le dépôt PPA de pmcenery via les deux commandes suivantes :

echo "deb http://ppa.launchpad.net/pmcenery/ppa/ubuntu `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/pmcenery/ppa/ubuntu `lsb_release -sc` main" | sudo tee -a /etc/apt/sources.list

Puis mettre à jour la liste des clé fiables via la commande suivante3) :

sudo apt-get update 2>&1 > /dev/null | awk '/PUBKEY/{print $NF}' | xargs sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com

Maintenant, rechargez la liste des paquets.

Installez les paquets ifuse et libiPhone-utils.

Ceci installera usbmuxd, qui est nécessaire pour permettre à votre système de communiquer avec votre iPhone. Cela installera aussi ifuse qui vous permettra de monter votre iPhone.

Préparation du système

  • Connectez votre iPhone et vérifiez que usbmuxd est actif en tapant dans un terminal :
ps ax | grep usbmuxd

Si usbmuxd est actif, vous aurez la réponse suivante:

6822 ?        S<     0:00 /usr/sbin/usbmuxd -u -U
21571 pts/0    S+     0:00 grep usbmuxd

Les chiffres en début de ligne seront différents que ceux dans l'exemple ci-dessus.

  • Maintenant, créez le point de montage pour votre iPhone, dans un terminal:
sudo mkdir /media/iPhone
sudo chmod 777 /media/iPhone
#user_allow_other

en

user_allow_other

Sauvegardez et quittez.

  • Ajoutez vous au groupe fuse.
usermod -aG fuse votre_login

Redémarrez votre machine. Ensuite, vérifiez que vous faites bien parti du groupe fuse en tapant dans un terminal:

id

Vous verrez alors les groupes auxquels vous appartenez, dont fuse.

Votre iPhone sera maintenant accessible en tapant dans un terminal: Pour le montage
ifuse /media/iPhone

Pour le démontage

fusermount -u /media/iPhone

Compilation de la librairie libgpod4 nécessaire à la synchronisation

  • Installez les paquets suivants: git-core autoconf libtool libglib2.0-dev intltool gtk-doc-tools sqlite3 libsqlite3-dev zlib1g-dev libxml2-dev checkinstall libiPhone-dev libgtk2.0 libgtk2.0-dev , ou cliquez sur ce lien pour tout installer en une fois.
  • Conflit possible : Pour éviter tout conflit avec une ancienne version de libgpod, supprimez le paquet libgpod-common.
  • Compilation : Tapez les lignes suivantes successivement dans un terminal:
git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/libgpod
cd libgpod
git checkout
CFLAGS="-g -O0" sh autogen.sh --prefix=/usr
make
sudo checkinstall

A partir de là, le programme vous posera plusieurs questions:

  • à la question “Should I create a default set of package docs ?” ; appuyez juste sur entrée
  • ensuite entrez une description (« Libgpod4_SVN » par exemple), et appuyez sur entrée, puis une seconde fois sur entrée sur la nouvelle ligne pour terminer la description
  • ensuite éditez le nom du paquet en tapant 2 et validez avec entrée. Tapez « libgpod4 » et validez avec entrée
  • ensuite faite le choix 11 et validez avec entrée. Écrivez libgpod4 encore une fois et validez avec entrée
  • enfin faites le choix n°3 et validez avec entrée. Tapez le numéro de version soit 0.7.3 et validez avec entrée
  • de retour sur la page de choix appuyez juste sur entrée sans aucun nombre pour créer et installer le paquet.4)

Préparation de l'iPhone

  • Connectez votre iPhone et montez le :
ifuse /media/iPhone
  • Créer le répertoire suivant :
mkdir -p /media/iPhone/iTunes_Control/Device/
  • Obtenez le numéro de série de votre iPhone :
lsusb -v | grep -i iSerial

La commande vous retournera plusieurs informations dont une du type :

iSerial                 3 fb9961044533cd317cb6f2bce3424c2771ae16d6

Le numéro de série qui nous intéresse est dans notre exemple: fb9961044533cd317cb6f2bce3424c2771ae16d6

  • Entrez la commande dans un terminal :
iPod-read-sysinfo-extended votre_numéro_de_série /media/iPhone

Ceci va créer le fichier /media/iPhone/iTunes_Control/Device/SysInfoExtended contenant des informations au format XML.

Installation de gtkpod

  • La compilation : les commandes qui suivent sont à taper successivement dans un terminal.
git clone git://gtkpod.git.sourceforge.net/gitroot/gtkpod/gtkpod
cd gtkpod
git checkout
CFLAGS="-g -O0" sh autogen.sh --prefix=/usr
make
sudo checkinstall

Synchronisation

  • Branchez et montez votre iPhone,
  • Lancer gtkpod,

A la première utilisation, gtkpod vous demandera le modèle de votre appareil. il apparaitra ensuite dans l'arborescence, dans la fenêtre de gauche. A partir de là vous pourrez transférer votre musique, vos photos et vidéos sur l'iPhone. Une fois l'opération effectuée, enregistrez les modification. N'oubliez pas d'éjecter votre iPhone de gtkpod, puis de votre système en tapant dans un terminal :

fusermount -u /media/iPhone

Il faut ajouter le dépôt ci-dessous, puis recharger la liste des paquets :

sudo add-apt-repository ppa:pmcenery/ppa

Installez le paquet ipheth

Brancher votre iPhone en ayant activé avant le partage de connexion sur l'iPhone.

Pour vérifier que le module est charge, tapez :

lsmod | grep ipheth

Normalement une interface réseau est créée.

Ne pas oublier d'installer User Agent Switcher pour firefox, puis redémarrer Firefox et choisir iPhone 3.0 dans l'onglet Outils de "User Agent Switcher".

Pour que le "User Agent" soit positionné dès l'ouverture de Firefox, plusieurs solutions:

  • soit le définir au niveau global (c.a.d appeler un nouveau fichier de config contenant la définition en Javascript du UserAgent iPhone 3.0 via un "general.config.filename" dans le fichier "/usr/lib/firefox-<VERSION>/greprefs/all.js")
  • soit dans "about:config", définir le boolean "useragentswitcher.reset.onclose" a "false" (mais ça peut poser des problèmes, cf. http://chrispederick.com/work/user-agent-switcher/faq/)
  • soit creer un fichier "user.js" dans le profile Firefox de la maniere suivante:
echo 'user_pref("general.appname.override", "Netscape");' >> user.js
echo 'user_pref("general.appversion.override", "5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");' >> user.js
echo 'user_pref("general.platform.override", "iPhone");' >> user.js
echo 'user_pref("general.useragent.appName", "Mozilla");' >> user.js
echo 'user_pref("general.useragent.override", "Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16");' >> user.js
echo 'user_pref("general.useragent.vendor", "Apple Computer, Inc.");' >> user.js
echo 'user_pref("general.useragent.vendorSub", "");' >> user.js

Il semblerait que ces méthodes ne fonctionnent pas avec l'iPhoneOS 4.0. Ce dernier est encore en phase de test, mais il sera bientôt disponible pour le public. Apple aurait en fait changé le hash de la base de données. Évitez par conséquent l'installation de l'iPhoneOS 4.0 si vous tenez absolument à utiliser ces alternatives à iTunes.

Solution ?

Il se pourrait qu'on puisse outrepasser cette (future) mise à jour en effectuant quelques changements, mais uniquement avec un iPhone jailbreaké. En reprenant l'idée trouvée ici :

Par SSH, modifier le fichier /System/Library/Lockdown/Checkpoint.xml, y trouver la clef DBVersion, et la ramener à 4, utilisant ainsi la version de base de donnée compatible avec Rhythmbox & co, utilisée par l'iPhoneOS 3.1.2.


Page créée par emris mise à jour par JeanMat ( première méthode)

Mise en forme : draco31.fr


1)
peut-être - je n'ai pas re-testé récemment
2)
non-root
3)
trouvée par Sébastien MANSFELD :-)
4)
Vous pourrez le désinstaller plus tard en faisant dpkg -r libgpod4
  • tutoriel/comment_synchroniser_un_iphone_3g_3gs_sous_ubuntu.1273431172.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)